説明
PDFドキュメントで指定されたページを削除します。
PDFドキュメントには少なくとも1ページがなければならないので、ドキュメントで全てのページを削除するという要求は無視されます。
※Adobe Readerは当DDEは使用出来ません。
形式
[DocDeletePages(char* fullPath, long fromPage, long toPage)]
引数
fullPath [char*] |
ページ削除するPDFファイルのフルパス注意:パス中に空白があるときは注意する。 |
fromPage [long] |
削除する開始頁(From)。0から開始する。 |
toPage [long] |
削除する頁数(To)。0から開始する。 削除する開始頁(From)≦削除する頁数(To) |
戻り値
true | ページ削除は成功した。 |
false | fullPathによって指定されたPDFドキュメントが開かれてない。 又は失敗しました。 |
注)ExcelのVBAではDDE命令の発信ステートメント上で、戻り値を取得出来ません。
サンプル:ExcelのVBA
PDFドキュメントの2~4ページを削除する。
- ※Excel VBA開発環境をF8キーでステップ実行して動作確認する。
Sub DDE_DocDeletePages()
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 9.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 & “)]”
‘ページの削除(2,3,4頁の削除)
DDEExecute lChanNo, “[DocDeletePages(“ & CON_PDF_PATH & “,1,3)]”
‘PDFファイルの保存。 注)最適化はされない
DDEExecute lChanNo, “[DocSave(“ & CON_PDF_PATH & “)]”
‘Acrobatアプリケーション終了
DDEExecute lChanNo, “[AppHide()]” ‘これをしないとAcrobatプロセスが残る
‘DDEチャネルを閉る
DDETerminate lChanNo
End Sub
補足
- 第2引数の数は0から開始する。つまり1ページ目は0で指定する。
- PDFファイルが開いてないとFalseが戻り値で返され、メソッドは無視される。
- 全てのページを削除するという要求をするとFalseが戻り値で返され、メソッドは無視される。
- Adobe Readerでは使用出来ません。
動作確認環境
- WindowsXP + SP3 + WindowsUpdate
- Adobe Acrobat Pro 7.0.8 + Office Pro 2003
- Adobe Acrobat Pro 8.1.4 + Office Pro 2003
- Adobe Acrobat Pro 9.1.0 + Office Pro 2003
Adobe社の解説ページ : 英語
以下がAdobe社のAcrobat DDEの解説ページです。
表示には時間がかかります。
http://livedocs.adobe.com/acrobat_sdk/9/Acrobat9_HTMLHelp/IAC_API_DDE_Messages.104.7.html
< TOPへ >