説明
現在のページの視点を指定された上下左右(X,Y)にスクロールします。
※Adobe Readerでは当DDEを使用出来ません。
形式
[DocScrollTo(char* fullPath, int x, int y)]
引数
注意:第3引数の印刷ドライバー名「driverName」は要らないくても印刷出来る!
fullPath [char*] |
印刷するPDFファイルのフルパス 注意:パス中に空白があるときは注意する。 |
x [int] |
(X) 左右へ移動するスクロール座標の位置を整数で示します。マイナスも可。 |
y [int] |
(Y) 上下へ移動するスクロール座標の位置を整数で示します。マイナスも可。 |
戻り値
true | false以外のとき。 |
false | fullPathによって指定されたPDFドキュメントが開かれてない。 又は失敗しました。 |
注)ExcelのVBAではDDE命令の発信ステートメント上で、戻り値を取得出来ません。
サンプル:Excel のVBA
PDFドキュメントを左右、上下にスクロール表示します。
- Excel VBA開発環境を F8 キーでステップ実行して動作確認します。
Sub DDE_DocScrollTo()
Dim lChanNo As Long ‘DDEチャンネル番号
‘パスに空白が入った時用にダブル引用符を付加
Const CON_PDF_PATH = “””E:¥TEST-01.pdf”””
‘Acrobatアプリケーション起動。
Shell “C:¥Program Files¥Adobe¥Acrobat 8.0¥Acrobat¥Acrobat.exe”
‘DDEチャンネルのオープン
lChanNo = DDEInitiate(“Acroview”, “Control”)
‘事前にPDFファイルのオープンする必要がある
DDEExecute lChanNo, “[DocOpen(“ & CON_PDF_PATH & “)]”
‘位置X=0,Y=200にスクロール移動
DDEExecute lChanNo, “[DocScrollTo(“ & CON_PDF_PATH & “,0,200)]”
‘位置X=200,Y=0にスクロール移動
DDEExecute lChanNo, “[DocScrollTo(“ & CON_PDF_PATH & “,200,0)]”
‘位置X=100,Y=200にスクロール移動
DDEExecute lChanNo, “[DocScrollTo(“ & CON_PDF_PATH & “,100,200)]”
‘PDFを全て閉じ、Acrobatアプリケーション終了
DDEExecute lChanNo, “[AppExit()]” ‘これをしないとAcrobatプロセスが残る
‘DDEチャネルを閉る
DDETerminate lChanNo
End Sub
実行結果
実行前
実行後 : X=0,Y=200
実行後 : X=200,Y=0
実行後 : X=100、Y=200
補足
- Adobe Readerでは使用出来ません。
- 事前にDocOpenで画面表示しておく必要があります。
動作確認環境
- WindowsXP + SP3 + WindowsUpdate +
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.21.html
< TOPへ >