AcroExch.PDPage: GetAnnotIndex メソッド

TOP > AcroExch.PDPage > *


説明

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

形式

long GetAnnotIndex(LPDISPATCH iPDAnnot);

引数

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

戻り値

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

動作するバージョン

Acrobat動作備考
4Acrobat 4.0    ※Windows 98SE + Excel 2000
5Acrobat 5.0.5
6Acrobat 6.0.3 Pro
7Acrobat 7.0.9 Pro
Acrobat 7.1.4 Pro
8NOAcrobat 8.1.2 Pro
9Acrobat 9.3.2 Extended
10Acrobat X (10.1.8) Extended
11Acrobat XI (11.0.04) Extended
  • OK:動作します。
  • NO:動作しない。 戻り値が0を返します。
  • ―:未確認。

サンプル:ExcelのVBA

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

以下サンプルは動作が不安定です。F8でステップ実行すれば正常に動作しましたが、F5で一気に実行すると失敗します。

  • 事前に参照設定をします。
  • F8キーでステップ実行しながら動作確認します。
001 Sub AcroExch_PDPage_GetAnnotIndex() 002 003 Debug.Print "TEST_PDPage_GetAnnotIndex:" & Now 004 Dim objAcroAVDoc As New Acrobat.AcroAVDoc 005 Dim objAcroPDPage As Acrobat.AcroPDPage 006 Dim objAcroAVPageView As Acrobat.AcroAVPageView 007 Dim objAcroPdAnnot As Acrobat.AcroPDAnnot 008 009 Dim lAnnots, i, lIndex As Long 010 Dim lRet As Long 011 012 'PDFドキュメントを開く 013 lRet = objAcroAVDoc.Open("E:\Test01.pdf", "") 014 'AVPageViewを取得する 015 Set objAcroAVPageView = objAcroAVDoc.GetAVPageView() 016 '先頭ページへ移動(表示)する 017 lRet = objAcroAVPageView.Goto(0) 018 Set objAcroPDPage = objAcroAVPageView.GetPage() 019 020 'ページ上に有る注釈数を得る 021 lAnnots = objAcroPDPage.GetNumAnnots 022 For i = 0 To lAnnots - 1 023 '該当ページから注釈オブジェクト(i)を作成する 024 Set objAcroPdAnnot = objAcroPDPage.GetAnnot(i) 025 '該当注釈のインデックスを取得する ★バグ? 026 lIndex = objAcroPDPage.GetAnnotIndex(objAcroPdAnnot) 027 Debug.Print i & ":" & " Index=" & lIndex 028 ' Debug.Print i & ":" & lIndex & " - " & _ 029 ' objAcroPdAnnot.GetContents 030 ' Debug.Print i & ":" & lIndex & " - " & _ 031 ' objAcroPdAnnot.GetSubtype 032 Next i 033 034 'PDFファイルを保存しないで閉じる 035 lRet = objAcroAVDoc.Close(1) 036 037 'オブジェクトを強制解放する 038 Set objAcroAVPageView = Nothing 039 Set objAcroAVDoc = Nothing 040 Set objAcroPDPage = Nothing 041 Set objAcroPdAnnot = Nothing 042 043 End Sub

 

 

実行結果

以下はExcelのVBA開発環境のイミディエイトウィンドウの内容です。

Source file 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メソッドは使用しない事をお薦めします。

Adobe Web 解説

OLE Automation / AcroExch.PDPage / GetAnnotIndex (公式サイト・英語)

動作確認環境

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

戻る

コメントを残す

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

CAPTCHA



SAMURAI Plugin

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

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れる時はコードを全て全角文字列にしてください。コチラで半角に戻します。それでもエラーが回避できない時はコメント下さい。個別に対処します。



お仕事で当サイトを見ている方へ
考え込んだら、ご質問下さい。
一緒に解決策を考えましょう。

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