Acrobat 8.0、あるいは Adobe Reader 8.0 ( あと、Adobe の SDK も?)がインストールされていないと Adobe Acrobat 8.0 type Library は使用できません。
(1) とりあえず、Adobe Acrobat 5.0 type Library でコンパイルしたものを、Adobe Acrobat 8.0 がインストールされている PC で実行させてみる。
(1) で正常に動作しない場合は、
(2) Adobe Acrobat 5.0 type Library の参照設定を外し、
Dim AVDoc As Acrobat.CAcroAVDoc
Dim PDDoc As Acrobat.CAcroPDDoc
といった宣言を全て
Dim AVDoc As Object
Dim PDDoc As Object
に書き換えてコンパイルする。
(3) Adobe Acrobat 8.0 や Adobe Reader 8.0 をインストールし、参照設定で Adobe Acrobat 8.0 type Library を設定してコンパイルする。
のどちらかになると思います。
質問者
お礼
tsukasa-12r様 回答ありがとうございます。
Adobe Acrobat 8.0 type Libraryが見つからなかったのは、Adobe Reader8.0がインストールされていないためでした。
教えてもらった通りにコードを修正してみたのですが、
AVDoc = CreateObject("AcroExch.AVDoc")
のところで「ActiveX コンポーネントを作成できません。」というエラーメッセージが返ってきてしまいます。
もしかすると馬鹿みたいな質問かもしれませんが、教えてもらえると助かります。
一応コードを載せておきます。
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim FName As String = "C:\sample.pdf"
'Dim AVDoc As Acrobat.CAcroAVDoc
'Dim PDDoc As Acrobat.CAcroPDDoc
'↑を↓に書き換えた
Dim AVDoc As Object
Dim PDDoc As Object
Dim R1 As Long
Dim wkPage As Long
' PDFファイルを開く
AVDoc = CreateObject("AcroExch.AVDoc") '←←← ここでエラーが出る
R1 = AVDoc.Open(FName, "")
If Not CBool(R1) Then
MsgBox("Openに失敗したため処理を中止します。")
Exit Sub
End If
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
End Class
お礼
tsukasa-12r様 回答ありがとうございます。 Adobe Acrobat 8.0 type Libraryが見つからなかったのは、Adobe Reader8.0がインストールされていないためでした。 教えてもらった通りにコードを修正してみたのですが、 AVDoc = CreateObject("AcroExch.AVDoc") のところで「ActiveX コンポーネントを作成できません。」というエラーメッセージが返ってきてしまいます。 もしかすると馬鹿みたいな質問かもしれませんが、教えてもらえると助かります。 一応コードを載せておきます。 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim FName As String = "C:\sample.pdf" 'Dim AVDoc As Acrobat.CAcroAVDoc 'Dim PDDoc As Acrobat.CAcroPDDoc '↑を↓に書き換えた Dim AVDoc As Object Dim PDDoc As Object Dim R1 As Long Dim wkPage As Long ' PDFファイルを開く AVDoc = CreateObject("AcroExch.AVDoc") '←←← ここでエラーが出る R1 = AVDoc.Open(FName, "") If Not CBool(R1) Then MsgBox("Openに失敗したため処理を中止します。") Exit Sub End If 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 End Class