We needed to open a PDF file with VBA code and print only certain pages. We searched, but couldn't find a way to do it without buying a license to Adobe Acrobat Standard.
CODE:
Public Sub PrintPDFPartial(strFileName As String, intBeginPage As Integer, intEndPage As Integer)
'This works but requires Adobe Acrobat Standard
Dim AcroApp As AcroApp
Dim AcroAVDoc As AcroAVDoc Dim AcroPDDoc As AcroPDDoc Set AcroApp = CreateObject("AcroExch.App")
Set AcroAVDoc = CreateObject("AcroExch.AVDoc") Const POSTSCRIPT_LEVEL = 2
If AcroAVDoc.Open(strFileName, vbNull) <> True Then
Exit Sub End If Set AcroAVDoc = AcroApp.GetActiveDoc
Set AcroPDDoc = AcroAVDoc.GetPDDoc AcroAVDoc.PrintPages intBeginPage - 1, intEndPage - 1, POSTSCRIPT_LEVEL, True, False
AcroAVDoc.Close True
AcroApp.Exit Set AcroDoc = Nothing
Set AcroApp = Nothing End Sub |
VBA >