VBA to open a PDF file and print only certain pages

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.


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")


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


Set AcroDoc = Nothing

Set AcroApp = Nothing

End Sub