AcroExch.PDBookmark メソッド一覧

TOP > *


英語ではブックマークと言っていますが日本語では「しおり」と言います。この「しおり」を扱うのが PDBookmark オブジェクトです。オブジェクト連携図を見ると「GetByTitle」メソッドで連携する様に見えますが、これだけ点線になっている事に注意が必要です。他のオブジェクトと連携方法が異なります。

基本コーディングはコレ↓

001 Dim objAcroAVDoc As New Acrobat.AcroAVDoc 002 Dim objAcroPDDoc As New Acrobat.AcroPDDoc 003 Dim objAcroPDBookMark As Acrobat.AcroPDBookmark 004 Dim lRet As Long 005 'PDFファイルを開いて表示する 006 lRet = objAcroAVDoc.Open("E:¥Test01.pdf", "") 007 'PDDocオブジェクトを取得する 008 Set objAcroPDDoc = objAcroAVDoc.GetPDDoc 009 'objAcroPDBookMarkオブジェクトの作成(インスタンス化) 010 Set objAcroPDBookMark = _ 011 CreateObject("AcroExch.PDBookmark") 012 '該当する「しおり」を検索する 013 lRet = objAcroPDBookMark.GetByTitle(objAcroPDDoc, _ 014 "OLE capabilities in Acrobat")

PDBookmark オブジェクトはオブジェクトの宣言は出来ますがNEW指定は出来ません。必ず CreateObject でインスタンス化する必要があります。また、オブジェクト連携図に書かれている「GetByTitle」メソッドはしおりを検索するだけのメソッドです。結果的にはこの検索でPDBookmark オブジェクトへ連携された事になります。

オブジェクト連携図の一部

一覧

メソッド解説
Destroyロジック上で現在扱っている該当する「しおり」を削除します。よって事前に検索(GetByTitle)しておく必要があります。
GetByTitle該当する文字列を持った「しおり」が存在するかの検索をします。検索出来れば同時にAVDocオブジェクトと連携します。
GetTitleロジック上で扱っている該当する「しおり」の文字列を返します。事前に検索(GetByTitle)しておく必要があります。
IsValid現在AcroPDBookmarkオブジェクトが扱っている「しおり」の構造をチェックするものではありません。削除されたかを確認する為に用意されたメソッドです。他のIsValid メソッドとは意味合いが異なります。
Performロジック上で扱っている該当する「しおり」に定義されているアクションを実行(頁移動等)します。事前に検索(GetByTitle)しておく必要があります。
SetTitle現在AcroPDBookmarkオブジェクトが扱っている「しおり」の文字列を変更します。事前に検索(GetByTitle)しておく必要があります。

備考

  • 上記のメソッド一覧を見ても分かる通り、このPDBookmarkオブジェクトでは「しおり」の新規追加の機能は有りません。OLE(IAC)全体にもしおりの新規登録メソッドは存在しません。
  • しおりの追加、削除、抽出ならば以下のツールの方をお勧めします。
    CPDF:メッチャ多機能なPDFのコマンドライン・ツール

Adobe Web 解説

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

TOPへ



これ以降はサイト管理者が当サイト又は当ページを維持&管理するためのメモです。見る必要も無く公開用にも書いてません。

「・・・オブジェクトの宣言は出来ますがNEW指定・・・」とか、そんな難しい表現で書いて、理解できる人が居るのかな? もっと約束事みたいな表現「この後はこの様な記述をする」とか「これは約束事です」の方が良いのではないか? ん~~~、悩む。時間が出来たら見直そう。

コメントを残す

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

CAPTCHA



SAMURAI Plugin

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

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



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

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