AcroExch.PDAnnot: Perform メソッド

TOP > AcroExch.PDAnnot > Perform      [...]


説明

PDFファイル上のリンク注釈の動作を実行します。

つまりリンク先に移動します。

形式

VARIANT_BOOL Perform(LPDISPATCH iAcroAVDoc);

引数

  1. 第1引数(LPDISPATCH iAcroAVDoc) :
    開いているAcroAVDoctオブジェクト。

戻り値

  • -1 : 正常に実行された。
  • 0 : 正常に実行させなかった。

動作するバージョン

VersionAdobe
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
8OKAcrobat 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

説明:PDFファイルの目次ページ上にあるリンク注釈を全て実行します。

  • F8キーでステップ実行しながら動作確認する。又はF5キーで実行してもいいです。
  • 事前に参照設定をする。
001 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 002 003 Sub AcroExch_PDAnnot_Perform() 004 005 Debug.Print "AcroExch_PDAnnot_Perform:" & Now 006 Dim objAcroAVDoc As New Acrobat.AcroAVDoc 007 Dim objAcroAVPageView As Acrobat.AcroAVPageView 008 Dim objAcroPDDoc As Acrobat.AcroPDDoc 009 Dim objAcroPDPage As Acrobat.AcroPDPage 010 Dim objAcroPDAnnot As Acrobat.AcroPDAnnot 011 Dim lRet As Long '戻り値 012 Dim lAnnotsCnt As Long '注釈数 013 Dim j As Long '添え字 014 Dim lTextCnt As Long '件数 015 Const lPage = 2 '目次ページ番号 016 017 lTextCnt = 0 018 'PDFドキュメントを開いて表示する 019 lRet = objAcroAVDoc.Open("E:\Test01.pdf", "") 020 Set objAcroPDDoc = objAcroAVDoc.GetPDDoc() 021 Set objAcroAVPageView = objAcroAVDoc.GetAVPageView() 022 '3ページ目のページオブジェクトを得る ★注意① 023 Set objAcroPDPage = objAcroPDDoc.AcquirePage(lPage) 024 'ページに存在する注釈数を得る 025 lAnnotsCnt = objAcroPDPage.GetNumAnnots() - 1 026 Debug.Print "全注釈数=" & (lAnnotsCnt + 1) 027 For j = 0 To lAnnotsCnt 028 Set objAcroPDAnnot = objAcroPDPage.GetAnnot(j) 029 'PDFビュアーのページを移動させる 030 lRet = objAcroAVPageView.Goto(lPage) '(TEST用) 031 Call Sleep(500) '(TEST用) 032 If objAcroPDAnnot.GetSubtype = "Link" Then 033 lRet = objAcroPDAnnot.Perform(objAcroAVDoc) 034 lTextCnt = lTextCnt + 1 035 If lRet <> -1 Then 036 Debug.Print "Perform=False(" & lRet & ")" 037 End If 038 Call Sleep(500) '(TEST用) 039 End If 040 Next j 041 Debug.Print "実行件数=" & lTextCnt 042 043 'PDFファイルを保存しないで閉じる 044 lRet = objAcroAVDoc.Close(1) 045 'オブジェクトを強制解放する 046 Set objAcroAVDoc = Nothing 047 Set objAcroAVPageView = Nothing 048 Set objAcroPDAnnot = Nothing 049 Set objAcroPDPage = Nothing 050 Set objAcroPDDoc = Nothing 051 052 End Sub


 Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
 

実行結果

PDAnnot:Perform メソッド


TEST_PDAnnot_Perform:2008/08/19 21:04:43
全注釈数=41
実行件数=39

補足

  • 3ページ目にリンク注釈がある頁をテストに使用しました。
  • 上記サンプルはテストの動きが判りやすいようにSleep関数が入っています。
    実用時には不要なので削除して下さい。
  • ここで言っている「リンク注釈」とは、テキスト注釈とは全く異なります。
    PDFドキュメント上にある透明テキストにリンク情報を持たせたものです。

動作確認環境

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

戻る

コメントを残す

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

CAPTCHA


★ 文章での質問は難しいですよネ。でも、早く解決して、家に帰りたい。


SAMURAI Plugin

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

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



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

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