Acrobat/DDE: FilePrint

説明

PDFファイルを画面にオープン表示して、印刷ダイアログボックスを表示します。

印刷ダイアログボックスを閉じない限り、次の命令は実行しません。

 

印刷ダイアログボックス

 

形式

[FilePrint(char* fullPath)]

 

引数

fullPath
[char*]
印刷ダイアログを表示するPDFファイルのフルパス
注意:パス中に空白があるときは注意する。

 

戻り値

true 印刷ダイアログの表示に成功しました。
false fullPathによって指定されたPDFドキュメントが開かれてない。
又は失敗しました。

注)ExcelのVBAではDDE命令の発信ステートメント上で、戻り値を取得出来ません。


サンプル:Excel のVBA

PDFドキュメントを開いて、印刷ダイアログボックスを表示します。

印刷ダイアログボックスで印刷内容を設定して印刷します。

  • Excel VBA開発環境を F8 キーでステップ実行して動作確認します。

 

Sub DDE_FilePrint()

Dim lChanNo As Long ‘DDEチャンネル番号
‘パスに空白が入った時用にダブル引用符を付加
Const CON_PDF_PATH = """E:¥Test01.pdf"""

‘AcrobatReaderアプリケーション起動
Shell "C:¥Program Files¥Adobe¥Reader 9.0¥Reader¥AcroRd32.exe"
‘DDEチャンネルのオープン
lChanNo = DDEInitiate("Acroview", "Control")

‘PDFファイルをオープンした後に、印刷ダイアログを表示する
DDEExecute lChanNo, "[FilePrint(" & CON_PDF_PATH & ")]"
‘印刷ダイアログを閉じない限り次の命令は実行しない

‘PDFを全て閉じ、Acrobatアプリケーション終了
DDEExecute lChanNo, "[AppExit()]" ‘Acrobatプロセスも消える
‘DDEチャネルを閉る
DDETerminate lChanNo

End Sub

 

補足

  • Adobe Readerを使っての自動印刷に関しては、メモリ上にプロセスが残るという問題をよく目にしますが、上記サンプルはプロセスは残りません。
    Adobe Reader v9.1.0では当問題は発生しません。

 

動作確認環境

  • WindowsXP + SP3 + WindowsUpdate  +
    Adobe Reader 9.1.0 + Office Pro 2003

 

Adobe社の解説ページ : 英語

以下がAdobe社のAcrobat DDEの解説ページです。表示には時間がかかります。
http://livedocs.adobe.com/acrobat_sdk/9/Acrobat9_HTMLHelp/IAC_API_DDE_Messages.104.26.html

 

TOPへ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA