説明
Acrobat PDFドキュメントの指定されたページ後に別のPDFドキュメントを挿入する。
※Adobe Readerは当DDEを使用出来ません。
形式
[DocInsertPages(char* fullPath, long insertAfterPage, char* sourcePath)]
引数
fullPath [char*] |
更新されるPDFファイルのフルパス。既にAcrobatアプリケーションで開かれてないといけない。 注意:パス中に空白があるときは注意する。 |
insertAfterPage [long] |
第1引数で指定したPDFファイルの挿入(差し込み)開始の頁番号。1頁は0とし、0から開始します。 注)英語版DDE説明書では1頁を開始としている。 |
sourcePath [char*] |
入される元のフルパス名。このファイルはオープンされている必要はありません。 |
戻り値
true | 挿入は成功した。 |
false | fullPathによって指定されたPDFドキュメントが開かれてない。 又は挿入は失敗しました。 |
注)ExcelのVBAではDDE命令の発信ステートメント上で、戻り値を取得出来ません。
サンプル:Excel のVBA
Test01.pdfのPDFドキュメントの24頁の後に”E:¥Test02.pdf”ドキュメントを追加する。
- Excel VBA開発環境をF8キーでステップ実行して動作確認する。
Sub DDE_DocInsertPages()
Dim lChanNo As Long ‘DDEチャンネル番号
‘パスに空白が入った時用にダブル引用符を付加
Const CON_PDF_PATH = “””E:¥Test01.pdf”””
‘Acrobatアプリケーション起動
‘Shell “C:¥Program Files¥Adobe¥Acrobat 7.0¥Acrobat¥Acrobat.exe”
Shell “C:¥Program Files¥Adobe¥Acrobat 8.0¥Acrobat¥Acrobat.exe”
‘DDEチャンネルのオープン
lChanNo = DDEInitiate(“Acroview”, “Control”)
‘該当PDFファイルのオープン
DDEExecute lChanNo, “[DocOpen(” & CON_PDF_PATH & “)]”
’34頁の後にE:¥Test02.pdfを追加する。
DDEExecute lChanNo, “[DocInsertPages(” & CON_PDF_PATH & “,33,E:¥Test02.pdf)]”
‘PDFファイルの保存。’注)最適化はされない
DDEExecute lChanNo, “[DocSave(” & CON_PDF_PATH & “)]”
‘Acrobatアプリケーション終了
DDEExecute lChanNo, “[AppHide()]” ‘これをしないとAcrobatプロセスが残る
‘DDEチャネルを閉る
DDETerminate lChanNo
End Sub
補足
- Adobe Readerでは使用出来ません。
- 第2引数で存在しない頁番号を指定するとFalseになる。
- 第3引数で指定されたPDFドキュメントの内容が全て挿入される。
動作確認環境
- WindowsXP + SP3 + WindowsUpdate
- Adobe Acrobat Pro 7.0.8 + Office Pro 2003
- Adobe Acrobat Pro 8.1.4 + Office Pro 2003
Adobe社の解説ページ : 英語
以下がAdobe社のAcrobat DDEの解説ページです。
表示には時間がかかります。
http://livedocs.adobe.com/acrobat_sdk/9/Acrobat9_HTMLHelp/IAC_API_DDE_Messages.104.11.html
< TOPへ >