TOP > AcroExch.AVDoc > GetFrame [...]
説明
Rect オブジェクトを取得して、位置とサイズの情報を取得します。
形式
LPDISPATCH GetFrame();
引数
- 無し。
戻り値
- 戻り値は AcroExch.Rect オブジェクト。
- 戻り値が NULL の時はPDFドキュメントがオープンされてない。 失敗です。
動作するバージョン
Version | Adobe Acrobat | 備考 |
---|---|---|
4 | OK | Acrobat 4.0 ※Windows 98SE + Excel 2000 |
5 | OK | Acrobat 5.0.5 |
6 | OK | Acrobat 6.0.3 Pro |
7 | OK | Acrobat 7.0.9 Pro Acrobat 7.1.4 Pro |
8 | OK | Acrobat 8.2.2 Pro |
9 | OK | Acrobat 9.3.2 Extended |
10 | - | Acrobat X (10.1.8) Extended |
11 | - | Acrobat XI (11.0.04) Extended |
- OK = 動作する。
- NO = 動作しない。 戻り値が0を返す。
- - = 未確認。
サンプル:Excel のVBA
説明: PDFドキュメントの位置とサイズ置(X,Y,上部、底部)を表示します。
- F8キーでステップ実行しながら動作確認する。
- 事前に参照設定をする。
001 Sub AcroExch_AVDoc_GetFrame()
002
003 'Acrobatオブジェクトの定義&作成
004 'Acrobat 4,5,6 の時
005 ' Dim objAcroApp As Acrobat.CAcroApp
006 ' Dim objAcroAVDoc As Acrobat.CAcroAVDoc
007 ' Dim objAcroRect As Acrobat.CAcroRect
008 ' Set objAcroApp = CreateObject("AcroExch.App")
009 ' Set objAcroAVDoc = CreateObject("AcroExch.AVDoc")
010
011 'Acrobat 7,8,9,10,11 の時
012 Dim objAcroApp As New Acrobat.AcroApp
013 Dim objAcroAVDoc As New Acrobat.AcroAVDoc
014 Dim objAcroRect As Acrobat.AcroRect
015
016 '以降はAcrobat全て共通
017 Dim lRet As Long '戻り値
018
019 '①PDFファイルを開く。(メモリ上)
020 lRet = objAcroAVDoc.Open("C:\work\Test01.pdf", "")
021 '②Acrobatアプリケーションを起動し、画面表示する。
022 ' lRet = objAcroApp.Show
023
024 'Rectオブジェクトを取得する。
025 Set objAcroRect = objAcroAVDoc.GetFrame()
026 'Rectオブジェクトの全プロパティを表示する。
027 MsgBox "Rect.Top=" & objAcroRect.Top & vbCrLf & _
028 "Rect.bottom=" & objAcroRect.bottom & vbCrLf & _
029 "Rect.Left=" & objAcroRect.Left & vbCrLf & _
030 "Rect.right=" & objAcroRect.Right
031
032 'PDFファイルを閉じます。
033 '※変更は保存されません。
034 lRet = objAcroAVDoc.Close(1)
035
036 'Acrobatアプリケーションを終了する。
037 ' lRet = objAcroApp.Hide
038 lRet = objAcroApp.Exit
039
040 'オブジェクトを強制解放する
041 Set objAcroRect = Nothing
042 Set objAcroAVDoc = Nothing
043 Set objAcroApp = Nothing
044
045 End Sub
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
実行結果
当GetFrame メソッドとは直接関係無いかもしれないが、結果が非常に不安定。Acrobat v4.0 ~ v7.0に関しては信用できない。
▼Acrobat v4.0の場合 、 結果は違う (Showメソッド、有り/無し)
※結果は起動タイミングにより値が異なる。Showメソッド、「有り/無し」関係無く。非常に不安定。
・Show メソッド 有り
又は
・Show メソッド 無し
又は
▼Acrobat v5.0の場合 、 結果は違う (Showメソッド、有り/無し)
※結果は起動タイミングにより値が異なる。Showメソッド、「有り/無し」関係無く。非常に不安定。
・Show メソッド 有り
又は
・Show メソッド 無し
又は
▼Acrobat v6.0の場合 、 結果は違う (Showメソッド、有り/無し)
※但し、結果が「有り」と「無し」が逆転する場合がある。動作結果が不安定?
/
▼Acrobat v7.0の場合 、 結果は違う (Showメソッド、有り/無し)
/
▼Acrobat v8.0の場合 、 結果は同じ
▼Acrobat v9.0 の場合 、 結果は同じ
補足
- Rectオブジェクトは文書の位置(X,Y,上部、底部)の情報を持っています。
- 上記サンプルではShowメソッドを使っていません。テスト用です。
※Showメソッドを使わずにサイレントで行うときはHideメソッドも必要ありません。
注意
- AcrobatのバージョンにPDFドキュメントを表示/非表示により結果が異なる事は問題です。
結論としてはGetFrame メソッドは使用しない方がいい?のかもしれない。 - PDFファイルのPDF仕様バージョンとAcrobatとのバージョンの相性も問題かもしれない。
- 再度、調査が必要と思われる。
動作確認環境
- Windows98SE( + WindowsUpdate)
+ Acrobat 4.0 + Office 2000 - WindowsXP Pro( + SP3 + WindowsUpdate)
+ Acrobat 5.0.5 + Office 2003( + SP3) - WindowsXP Pro( + SP3 + WindowsUpdate)
+ Acrobat 6.0.3 Pro + Office 2003( + SP3) - WindowsXP Pro( + SP2 + WindowsUpdate)
+ Acrobat 7.0.9 Pro + Office 2003 - WindowsXP Pro( + SP3 + WindowsUpdate)
+ Acrobat 7.1.4 Pro + Office 2003( + SP3) - WindowsXP Pro( + SP3 + WindowsUpdate)
+ Acrobat 8.2.2 Pro + Office 2003( + SP3) - WindowsXP Pro( + SP3 + WindowsUpdate)
+ Acrobat 9.3.2 Extended + Office 2003( + SP3)
Adobe Web 解説 URL(英語) v9.1
< 戻る >
ブラウザ画面の文字サイズを変更するショートカットキー
|