AcroExch.AVDoc: GetFrame メソッド

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キーでステップ実行しながら動作確認する。
  • 事前に参照設定をする。

 

Sub AcroExch_AVDoc_GetFrame()
    
    'Acrobatオブジェクトの定義&作成
    'Acrobat 4,5,6 の時
'    Dim objAcroApp     As Acrobat.CAcroApp
'    Dim objAcroAVDoc As Acrobat.CAcroAVDoc
'    Dim objAcroRect    As Acrobat.CAcroRect
'    Set objAcroApp     = CreateObject("AcroExch.App")
'    Set objAcroAVDoc = CreateObject("AcroExch.AVDoc")
    
    'Acrobat 7,8,9,10,11 の時
    Dim objAcroApp As New Acrobat.AcroApp
    Dim objAcroAVDoc As New Acrobat.AcroAVDoc
    Dim objAcroRect As Acrobat.AcroRect

    '以降はAcrobat全て共通
    Dim lRet As Long    '戻り値
    
    '①PDFファイルを開く。(メモリ上)
    lRet = objAcroAVDoc.Open("C:¥work¥Test01.pdf", "")
    '②Acrobatアプリケーションを起動し、画面表示する。
'    lRet = objAcroApp.Show
    
    'Rectオブジェクトを取得する。
    Set objAcroRect = objAcroAVDoc.GetFrame()
    'Rectオブジェクトの全プロパティを表示する。
    MsgBox "Rect.Top=" & objAcroRect.Top & vbCrLf & _
           "Rect.bottom=" & objAcroRect.bottom & vbCrLf & _
           "Rect.Left=" & objAcroRect.Left & vbCrLf & _
           "Rect.right=" & objAcroRect.Right
    
    'PDFファイルを閉じます。
    '※変更は保存されません。
    lRet = objAcroAVDoc.Close(1)
    
    'Acrobatアプリケーションを終了する。
'    lRet = objAcroApp.Hide
    lRet = objAcroApp.Exit

    'オブジェクトを強制解放する
    Set objAcroRect = Nothing
    Set objAcroAVDoc = Nothing
    Set objAcroApp = Nothing
    
End Sub

 

実行結果

当GetFrame メソッドとは直接関係無いかもしれないが、結果が非常に不安定。Acrobat v4.0 ~ v7.0に関しては信用できない。

 

▼Acrobat v4.0の場合 、 結果は違う (Showメソッド、有り/無し)

※結果は起動タイミングにより値が異なる。Showメソッド、「有り/無し」関係無く。非常に不安定。

・Show メソッド 有り

Rectオブジェクト結果 Acrobat v4.0 Showメソッド有り又はRectオブジェクト結果 Acrobat v4.0 Showメソッド有り 

・Show メソッド 無し

Rectオブジェクト結果 Acrobat v4.0 Showメソッド無し又はRectオブジェクト結果 Acrobat v4.0 Showメソッド無し

 

▼Acrobat v5.0の場合 、 結果は違う (Showメソッド、有り/無し)

※結果は起動タイミングにより値が異なる。Showメソッド、「有り/無し」関係無く。非常に不安定。

・Show メソッド 有り

Rectオブジェクト結果 Acrobat v5.0 Showメソッド有り又はRectオブジェクト結果 Acrobat v5.0 Showメソッド有り

・Show メソッド 無し 

Rectオブジェクト結果 Acrobat v5.0 Showメソッド無し 又はRectオブジェクト結果 Acrobat v5.0 Showメソッド無し

 

▼Acrobat v6.0の場合 、 結果は違う (Showメソッド、有り/無し)

※但し、結果が「有り」と「無し」が逆転する場合がある。動作結果が不安定?

Rectオブジェクト結果 Acrobat v6.0 Showメソッド有り  / Rectオブジェクト結果 Acrobat v6.0 Showメソッド無し

 

▼Acrobat v7.0の場合 、 結果は違う (Showメソッド、有り/無し)

Rectオブジェクト結果 Acrobat v7.0 Showメソッド有り  / Rectオブジェクト結果 Acrobat v7.0 Showメソッド無し

 

▼Acrobat v8.0の場合 、 結果は同じ

Rectオブジェクト結果 Acrobat v8.0 Showメソッド 

 

▼Acrobat v9.0 の場合  、 結果は同じ

Rectオブジェクト結果 Acrobat v9.0 Showメソッド 

 

補足

  • 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

http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/IAC_API_OLE_Objects.103.39.html

 

戻る


キーボード

ブラウザ画面の文字サイズを変更するショートカットキー

  1. [ CTRL ] + [ + ]  :  文字を大きく
  2. [ CTRL ] + [ - ]  :  文字を小さく

Shortcut Keys

  1. [ CTRL ] + [ + ]  :  Up the font size
  2. [ CTRL ] + [ - ]  :  Down the font size

コメントを残す

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

CAPTCHA


出来るだけ早く返答する様には心がけています。
が、遅くなる時もありますのでご了承ください。


SAMURAI Plugin

コメントをする時は出来れば以下もお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れるとエラーになる場合が有ります。その時はコードの前後に <code> ・・・</code> タグを入れてください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください