Using VBA how do I call up the Adobe Create PDF function

前端 未结 4 1580
误落风尘
误落风尘 2020-12-09 00:33
  Sheets(\"Key Indicators\").ExportAsFixedFormat Type:=xlTypePDF,
 Filename:=ArchivePath, Quality:=xlQualityStandard,
 IncludeDocProperties:=True, IgnorePrintAreas _         


        
相关标签:
4条回答
  • 2020-12-09 01:09
    With ActiveSheet
        .ExportAsFixedFormat Type:=xlTypePDF, Filename:="N:\JKDJKDJ", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True,  
        IgnorePrintAreas:=False, OpenAfterPublish:=False
    End With
    
    0 讨论(0)
  • 2020-12-09 01:14

    You can publish any Excel Range as a PDF using ExportAsFixedFormat. There is no need to set a refernce to Acrobat.

    ' Usage:
    ' PublishRangePDF(Thisworkbook, fileName) : Will Publish the entire Workbook
    ' PublishRangePDF(AvtiveSheet, fileName) : Will Publish all selected worksheets
    ' PublishRangePDF(Range("A1:H100"), fileName) : Will Publish Range("A1:H100")
    
    
    Sub PublishRangePDF(RangeObject As Object, fileName As String, Optional OpenAfterPublish As Boolean = False)
        On Error Resume Next
        RangeObject.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=OpenAfterPublish
        On Error GoTo 0
    End Sub
    
    0 讨论(0)
  • 2020-12-09 01:16
    Sub PDF()
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "C:\Users\PCNAME\Documents\Book1.pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        True
    End Sub
    

    Please try the above codes

    0 讨论(0)
  • 2020-12-09 01:19

    Acrobat Reference should work
    Here is the guide from Adobe
    Once added, you may use the following code Tip: It may lead you to correct coding -I'm not quite sure since I coded it "blindly" because I don't have Acrobat in my PC-. Debug step by step to see what's doing.

    Sub ExportWithAcrobat()
    Dim AcroApp As Acrobat.CAcroApp 'I'm not quite sure it's needed since we are creating the doc directly
    Dim AcrobatDoc As Acrobat.CAcroPDDoc
    Dim numPages As Long
    Dim WorkSheetToPDF As Worksheet
    Const SaveFilePath = "C:\temp\MergedFile.pdf"
        Set AcroApp = CreateObject("AcroExch.App") 'I'm not quite sure it's needed since we are creating the doc directly
        Set AcrobatDoc = CreateObject("AcroExch.PDDoc")
        'it's going to be 0 at first since we just created
        numPages = AcrobatDoc.GetNumPages
        For Each WorkSheetToPDF In ActiveWorkbook.Worksheets
        If AcrobatDoc.InsertPages(numPages - 1, WorkSheetToPDF, 0, AcrobatDoc.GetNumPages(), True) = False Then 'you should be available to work with the code to see how to insert the sheets that you want in the created object ' 1. If Part1Document.InsertPages(numPages - 1, "ExcelSheet?", 0, AcrobatDoc.GetNumPages(), True) = False
        MsgBox "Cannot insert pages" & numPages
        Else ' 1. If Part1Document.InsertPages(numPages - 1, "ExcelSheet?", 0, AcrobatDoc.GetNumPages(), True) = False
        numPages = numPages + 1
        End If ' 1. If Part1Document.InsertPages(numPages - 1, "ExcelSheet?", 0, AcrobatDoc.GetNumPages(), True) = False
        Next WorkSheetToPDF
        If AcrobatDoc.Save(PDSaveFull, SaveFilePath) = False Then ' 2. If Part1Document.Save(PDSaveFull, "C:\temp\MergedFile.pdf") = False
        MsgBox "Cannot save the modified document"
        End If ' 2. If Part1Document.Save(PDSaveFull, "C:\temp\MergedFile.pdf") = False
    End Sub
    

    Following pages may provide better assistance: Link1, Link2

    0 讨论(0)
提交回复
热议问题