Acrobat/DDE: DocSaveAs

説明

指定されたPDFファイルを名前を付けて保存します。

同じPDFファイルへの保存も来ます。

保存時にはPDFファイルの最適化(サイズの縮小化)がされます。

※Adobe Readerでは当DDEを使用出来ません。

 

形式

[DocSaveAs(char* fullPath, char* newPath)]

 

引数

fullPath
[char*]
印刷するPDFファイルのフルパス
注意:パス中に空白があるときは注意する。
newPath
[long]
別名のPDFファイルのフルパス。
注意:パス中に空白があるときは注意する。

 

戻り値

true 保存は成功しました。
false fullPathによって指定されたPDFドキュメントが開かれてない。
又は保存は失敗しました。

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

 

サンプル:ExcelのVBA

指定されたPDFファイルを別名で名前を付けて保存します。

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

 

Sub DDE_DocSaveAs()

Dim lChanNo As Long ‘DDEチャンネル番号
‘パスに空白が入った時用にダブル引用符を付加

Const CON_PDF_PATH = """E:¥Test01.pdf"""

‘Acrobatアプリケーション起動
Shell "C:¥Program Files¥Adobe¥Acrobat 9.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, "[DocSaveAs(" & _
CON_PDF_PATH &
"," & """E:¥Test02A.pdf""" & ")]"
‘Acrobatアプリケーション終了
DDEExecute lChanNo, "[AppExit()]" ‘これをしないとAcrobatプロセスが残る
‘DDEチャネルを閉る
DDETerminate lChanNo

End Sub

 

補足

  • Adobe Readerでは使用出来ません。
  • DocSaveとの違いは別名保存が出来る、と最適化されるの2点です。

動作確認環境

  • WindowsXP + SP3 + WindowsUpdate
  • Adobe Acrobat Pro 7.0.8 + 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.20.html

 

TOPへ

コメントを残す

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

CAPTCHA