• ベストアンサー

VBからPDFファイル自動生成するには

VBから印刷イメージを自動にPDFファイルに変換し指定フォルダに保存するにはどのようにすればよいのでしょうか? いろいろ調べても良くわかりません。 できればサンプルプログラムもあれば幸いです。 現在は、通常使うプリンタにAcrobat PDFWriterを指定し手動でPDFファイルを作っている次第です。 環境としてはWindows2000、VB6.0、Acrobat4.05です。 どんな情報でも結構です。お待ちしております。

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

サンプルです。 Option Explicit '開発環境: VB6SP5 Acrobat4.0 '参照設定:Adobe Acrobat 4.0 Type Library '    参照設定初回設定時は「Acrobat」と表示されています '    一度チェックをつけ、もう一度参照設定ダイアログを開くと「Adobe Acrobat 4.0 Type Library」になっているはずです。 Sub TEST()   Dim acroApp     As CAcroApp   'CAcroAppオブジェクト   Dim acroPDDoc    As CAcroPDDoc  'CAcroPDDocオブジェクト   Dim acroExchAVDoc  As CAcroAVDoc  'CAcroAVDocオブジェクト   Dim blnRtn     As Boolean   '戻り値   Dim lngAVDocNum   As Long      'インスタンス生成   Set acroApp = CreateObject("AcroExch.APP")   Set acroPDDoc = CreateObject("AcroExch.PDDoc")   Set acroExchAVDoc = CreateObject("AcroExch.AVDoc") 'デバッグ用 acroApp.Show     'ファイルオープン   blnRtn = acroExchAVDoc.Open("c:\test.bmp", "")   If blnRtn Then     MsgBox "オープンエラー"     GoTo PGMEND:   End If      '変換処理中の待機処理   Do While lngAVDocNum = acroApp.GetNumAVDocs     DoEvents   Loop      '変換済みのアクティブPDFファイルオブジェクト取得   Set acroExchAVDoc = acroApp.GetActiveDoc()   Set acroPDDoc = acroExchAVDoc.GetPDDoc()        'PDFファイルとしてセーブ   blnRtn = acroPDDoc.Save(PDSaveFull Or PDSaveCollectGarbage Or PDSaveLinearized, "c:\test.pdf")      If Not blnRtn Then     MsgBox "セーブエラー"     GoTo PGMEND:   End If     PGMEND:   '閉じる   blnRtn = acroExchAVDoc.Close(False)   acroApp.Exit     '開放   Set acroExchAVDoc = Nothing   Set acroPDDoc = Nothing   Set acroApp = Nothing End Sub

hattorininnin
質問者

お礼

詳しいサンプルまで頂きまして、大変助かりました。すごいですね!また何かありましたらよろしくお願いいたします。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • osaosa42
  • ベストアンサー率60% (20/33)
回答No.2

ソースが長いので簡単にやり方だけ書きます。 (1)レジストリ(HKEY_CURRENT_USER\SOFTWARE\Adobe\Acrobat PDFWriter\PDFFileName)に作成するPDFファイル名を書き込む (2)ShellExecute(Me.hwnd, "Print", strPath, "", "", 0)で関連付けされたアプリで印刷する。 これで、PDFファイルが作成されるはず・・・。 もし、デフォルトプリンタをPDFにしていない場合、失敗します。

すると、全ての回答が全文表示されます。

関連するQ&A

このQ&Aのポイント
  • 数年前亡くなった父との雑談で、「ホンダ(他社でも可)」のエンジンのクランクの回転が逆だという話を聞いた。父は一つのギヤを噛ませることで回転方向を逆転できると言っていたが、実際には可能なのか疑問に思っている。
  • デフのリングギアを使って回転方向を変えることはできるが、ギヤ一つでそれが可能かどうかはわからない。父の勘違いなのか、実際には可能なのかについて、20数年前の技術レベルで識者の意見を聞きたい。
  • 数年前亡くなった父との会話で、「ホンダ(実際には他社でも可)」のエンジンのクランクの回転が逆だという話を聞いた。父は一つのギヤを噛ませることで回転方向を逆転できると言っていたが、現実には可能なのか疑問に思っている。20数年前の技術レベルで、ギヤひとつで回転方向を変えることはできるのか、識者の意見を聞きたい。
回答を見る

専門家に質問してみよう