AcroExch.PDPage: GetAnnotIndex メソッド

TOP > AcroExch.PDPage > GetAnnotIndex      [...]


説明

ページ指定された注釈のインデックス(頁注釈配列の中)を得ます。

 

形式

long GetAnnotIndex(LPDISPATCH iPDAnnot);

 

引数

  1. 第1引数(LPDISPATCH iPDAnnot) :
    注釈オブジェクト(PDAnnot)を指定する。

 

戻り値

  • ページ指定された注釈のインデックス値。

 

動作するバージョン

Version Adobe
Acrobat
備考
4
-
Acrobat 4.0    ※Windows 98SE + Excel 2000
5
-

Acrobat 5.0.5
6
-

Acrobat 6.0.3 Pro
7
-
Acrobat 7.0.9 Pro
Acrobat 7.1.4 Pro
8
NO
Acrobat 8.1.2 Pro
9
-
Acrobat 9.3.2 Extended
10
-
Acrobat X (10.1.8) Extended
11
-
Acrobat XI (11.0.04) Extended
  • OK = 動作する。
  • NO = 動作しない。 戻り値が0を返す。
  • - = 未確認。

 






サンプル:ExcelのVBA

 

説明:GetAnnotIndex メソッドの結果を検証します。

※★以下は動作が不安定です。
F8でステップ実行すれば正確に動作すれすると思えば、F5で一気に実行すると失敗します。

  • F8キーでステップ実行しながら動作確認する。
  • 事前に参照設定をする。

 

Sub AcroExch_PDPage_GetAnnotIndex()

    Debug.Print "TEST_PDPage_GetAnnotIndex:" & Now
    Dim objAcroAVDoc          As New Acrobat.AcroAVDoc
    Dim objAcroPDPage        As Acrobat.AcroPDPage
    Dim objAcroAVPageView As Acrobat.AcroAVPageView
    Dim objAcroPdAnnot      As Acrobat.AcroPDAnnot
    
    Dim lAnnots, i, lIndex    As Long
    Dim lRet                      As Long
    
    'PDFドキュメントを開く
    lRet = objAcroAVDoc.Open("E:¥Test01.pdf", "")
    'AVPageViewを取得する
    Set objAcroAVPageView = objAcroAVDoc.GetAVPageView()
    '先頭ページへ移動(表示)する
    lRet = objAcroAVPageView.Goto(0)
    Set objAcroPDPage = objAcroAVPageView.GetPage()
    
    'ページ上に有る注釈数を得る
    lAnnots = objAcroPDPage.GetNumAnnots
    For i = 0 To lAnnots - 1
        '該当ページから注釈オブジェクト(i)を作成する
        Set objAcroPdAnnot = objAcroPDPage.GetAnnot(i)
        '該当注釈のインデックスを取得する ★バグ?
        lIndex = objAcroPDPage.GetAnnotIndex(objAcroPdAnnot)
        Debug.Print i & ":" & " Index=" & lIndex
'            Debug.Print i & ":" & lIndex & " - " & _
'                objAcroPdAnnot.GetContents
'            Debug.Print i & ":" & lIndex & " - " & _
'                objAcroPdAnnot.GetSubtype
    Next i

    'PDFファイルを保存しないで閉じる
    lRet = objAcroAVDoc.Close(1)

    'オブジェクトを強制解放する
    Set objAcroAVPageView = Nothing
    Set objAcroAVDoc = Nothing
    Set objAcroPDPage = Nothing
    Set objAcroPdAnnot = Nothing

End Sub

 

実行結果

TEST_PDPage_GetAnnotIndex:2008/07/25 9:39:07
0: Index=0
1: Index=1
2: Index=0
3: Index=1
TEST_PDPage_GetAnnotIndex:2008/07/25 9:39:43
0: Index=0
1: Index=1
2: Index=2
3: Index=3

※2回実行しました。1回目はF5で一気に実行。2回目はF8でステップ実行。2回目は正常処理です。

 

補足

  • GetAnnotIndexメソッドは使用しない事をお薦めします。

 

 

動作確認環境

  • WindowsXP Pro(+ SP3) +
    Acrobat 8.1.2 Pro + Office 2003 + MicrosoftUpdate

 

戻る

コメントを残す

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

CAPTCHA


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


SAMURAI Plugin

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

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

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