現在WindowsXP・VB2005で作成したアプリケーションで、Adobe Acrobat5.0が入っているマシンでAdobe Acrobat5.0 type LibraryのPrintPagesSilent機能を使ってPDFの印刷をしているのですが、Adobe Reader8.0しか入っていないマシンでPDFの印刷をすることになりました。
参照設定で、Adobe Acrobat5.0 type LibraryになっているところをAdobe Acrobat8.0 type Libraryにするだけでいけるのかと思っていたのですが、参照設定の中にAdobe Acrobat8.0 type Libraryが見つかりませんでした。
Acrobatが入っていないと、Adobe Acrobat type Libraryというのは使用することが出来ないのでしょうか?
このライブラリが使えないのであれば、START AcroRD32.exe /p filepass で印刷しようと思っていますが、独自の印刷ダイアログを使って印刷したいです。
何か良い方法はありませんでしょうか?
アプリケーションを使用する環境はWindowsXPです。
No.1ベストアンサー
- 回答日時:
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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アプリケーションのDLLファイル...
-
<unistd.h>をVisualStudioでつ...
-
Makefileでのコンパイル方法
-
共有ライブラリの内容確認について
-
.NET Frameworkの使用有無を知...
-
ビープ音が鳴りません・・・
-
C# exeファイルのダブルクリック
-
C言語で、配列を使ったsinカー...
-
latex cite, ref
-
gcc コンパイル killed
-
バージョンの違うライブラリを...
-
Cのコンパイルでコメントアウト...
-
64ビットのlinuxで32ビットメモ...
-
python エラー
-
エクセルのエラーメッセージ「4...
-
Makefile作成時の拡張子.oとは?
-
ソフトの開発言語を調べる方法
-
エクセルVBAではRound...
-
VB5の逆コンパイルについて
-
ビルド失敗 指定されたファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アプリケーションのDLLファイル...
-
<unistd.h>をVisualStudioでつ...
-
すべてのリビルド: 0 正常、 0 ...
-
lhafileをインストールしたい
-
C#で char型とstring型の比較で...
-
gcc コンパイル killed
-
[COBOL] ソースの復帰
-
c言語です コンパイルした時に...
-
実行後にコンパイルに失敗しま...
-
共有ライブラリの内容確認について
-
ビープ音が鳴りません・・・
-
gcc バージョン違いによるコン...
-
64ビットのlinuxで32ビットメモ...
-
NASMとMASMの違い
-
C言語で作ったらWindowsでもMac...
-
math.hに含まれる関数が使えない
-
MVSマシンで0C7でABENDしたので...
-
ccとgcc
-
「インクルードファイル 'pthre...
-
自作DLLの中身を暗号化
おすすめ情報