
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
No.2
- 回答日時:
ソースが長いので簡単にやり方だけ書きます。
(1)レジストリ(HKEY_CURRENT_USER\SOFTWARE\Adobe\Acrobat PDFWriter\PDFFileName)に作成するPDFファイル名を書き込む
(2)ShellExecute(Me.hwnd, "Print", strPath, "", "", 0)で関連付けされたアプリで印刷する。
これで、PDFファイルが作成されるはず・・・。
もし、デフォルトプリンタをPDFにしていない場合、失敗します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- PDF PDFを自動添付したメールを送信してくれるツールを探しています。 2 2023/02/07 15:19
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- PDF AutoCAD図面をPDF fileに変換した際、画像情報やブロック名はわかるのでしょうか。 1 2022/06/03 09:42
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- PDF PDF印刷後に「変更を保存しますか?」と訊かれる 2 2023/04/28 17:35
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
このQ&Aを見た人はこんなQ&Aも見ています
-
VB6上から印刷ダイアログを表示させずにPDFを作成したい
Visual Basic(VBA)
-
VB6.0でExcel,PDF,Word出力方法
Visual Basic(VBA)
-
Excel VBAでPDFファイルをMicrosoft Print to PDFで出力したい
Visual Basic(VBA)
-
-
4
コントロールを移動できない
Visual Basic(VBA)
-
5
出力するプリンタを指定したい。
Visual Basic(VBA)
-
6
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
7
C# DataGridView のヘッダーセル中央揃え
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
VBAで Set wb = Sheets(1).Cop...
-
Excelでフィルタをかけると警告...
-
sheetsメソッドの失敗
-
VBAでWebページにセルの値を入力
-
VBAで既に開いている別アプリケ...
-
オブジェクトが見つかりません
-
VBからPDFファイル自動生成...
-
エクセルマクロの行選択
-
vb.netアプリケーションで発生...
-
findメソッドの変数について
-
Excel VBAでWordの複数ファイル...
-
ASPからSELECT文を複数発行する...
-
エクセル/保護したシート上の埋...
-
実行時エラー 3265「要求された...
-
エクセルマクロエラー「'Cells'...
-
エクセルVBAでcode128のバー...
-
Excel2007 VBA ラジオボタン Ca...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
テキストボックス中の文字列の...
-
ExcelVBAでのNZ関数について
-
[VBA]CDOメッセージ送信エラー
-
EXCEL VBA オートシェイプナン...
-
VBAで Set wb = Sheets(1).Cop...
-
エクセルマクロエラー「'Cells'...
-
AccessVBAで「dim dbs as datab...
-
Excel VBAでWordの複数ファイル...
-
オブジェクトが見つかりません
-
CreateObjectとGetObjectの違い
-
エクセルVBAで配列内に空白デー...
-
オブジェクト変数またはWITHブ...
-
エクセルVBAでcode128のバー...
-
VBScriptからDLL参照設定したい
おすすめ情報