「PDFファイルを印刷する」

Excel2002でAcrobat5用に作ったものだが、多分 どのバージョンでも動きます。ただし、参照設定は多少違うので注意。

' 参照設定:Adobe Acrobat 5.0 Type Library
Public Sub PrintPDFFile()
    Const FName As String = "F:\Book1.pdf"
    Dim AVDoc As Acrobat.CAcroAVDoc
    Dim PDDoc As Acrobat.CAcroPDDoc
    Dim R1 As Long
    Dim wkPage As Long

    ' PDFファイルを開く
    Set AVDoc = CreateObject("AcroExch.AVDoc")
    R1 = AVDoc.Open(FName, "")
    If Not CBool(R1) Then
        MsgBox "Openに失敗したため処理を中止します。"
        Exit Sub
    End If
    Set PDDoc = AVDoc.GetPDDoc()
    ' ページ数を取得する
    wkPage = PDDoc.GetNumPages()
    ' 印刷する
    R1 = AVDoc.PrintPagesSilent(0, wkPage - 1, 1, CLng(True), CLng(True))
    If Not CBool(R1) Then
        MsgBox "印刷に失敗しました。"
    End If
    ' PDFファイルを閉じる
    AVDoc.Close CLng(False)
End Sub

Acrobatがインストールされていることが前提。
PrintPagesSilentメソッドをPrintPagesメソッドにしても可。

[Mr.BelieのページのHomeへ]