VBA: Within Excel how do I save a word document as a PDF?

元气小坏坏 提交于 2020-01-24 17:11:06

问题


I have some code that copies and pastes data from an Excel file into a word document, how can I get that word document to save as a PDF?

My code is as follows:

Sub RetailerGraphs()

Dim Location As String
Dim Detail As String

Worksheets("-Summary").Activate
Range("AE9").Select
While ActiveCell.Value <> ""
    ActiveCell.Offset(1, 0).Select
    Location = ActiveCell.Value
    Worksheets("Detail Summary").Activate
    Range("B7").Value = Location

    Dim objWord, objDoc As Object
    ActiveWindow.View = xlNormalView
    Set objWord = CreateObject("Word.Application")
    Set objDoc = objWord.Documents.Add

    Range("AH40").Select
    While ActiveCell <> ""
        ActiveCell.Offset(1, 0).Select
        Detail = ActiveCell.Value
        Range("B11").Value = Detail 
        Application.Wait (Now + TimeValue("0:00:05"))
        Range("A1:Z111").CopyPicture Appearance:=xlScreen, Format:=xlPicture
        objWord.Visible = True
        objWord.Selection.Paste
        objWord.Selection.TypeParagraph
        Set objSelection = objWord.Selection
        objSelection.InsertBreak (wdPageBreak)
        If ActiveCell.Value = "END" Then
             objWord.SaveAs2 "C:\Docs\MyDoc.pdf"
        End If
    Wend
    Worksheets("-Summary").Activate
Wend

End Sub

Within the lines:

If ActiveCell.Value = "END" Then

End If

I have tried the following code to try to get it to save as a PDF:

 objWord.ExportAsFixedFormat OutputFileName:="C:\wordtest.pdf", _
  ExportFormat:=wdExportFormatPDF

 objWord.ExportAsFixedFormat OutputFileName:="C:\Documents and Settings\All Users\Desktop\YourFile.pdf", ExportFormat:=wdExportFormatPDF

 objDoc.ExportAsFixedFormat OutputFileName:="C:\Documents and Settings\All Users\Desktop\YourFile.pdf", ExportFormat:=wdExportFormatPDF

But I get the error on the line where I try to export it as a PDF, e.g. objWord.SaveAs2 "C:\Docs\MyDoc.pdf" :

Run-time error '438':
Object doesn't support this property or method

Can someone please help?

Note: I have ensured that "Microsoft Word 14.0 Object Library" is ticked in the references, and I change the location to the necessary directory rather than using the above.


回答1:


ExportAsFixedFormat is a method of Word.Document (objDoc), not Word.Application (objWord). So

objDoc.ExportAsFixedFormat OutputFileName:="C:\Docs\File.pdf", ExportFormat:=wdExportFormatPDF

should work.

Does this give an error too? Which?



来源:https://stackoverflow.com/questions/32187516/vba-within-excel-how-do-i-save-a-word-document-as-a-pdf

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!