AcroExch.PDAnnot: SetDate メソッド

TOP > AcroExch.PDAnnot > *


説明

PDFファイル上の注釈の日付をセット又は変更します。

形式

VARIANT_BOOL SetDate(LPDISPATCH iAcroTime);

引数

  1. 第1引数(LPDISPATCH iAcroTime) :
    日付(AcroTimeオブジェクト)

戻り値

  • -1 : 設定出来た。
  • 0 : 設定出来なかった。又は設定出来ない。

動作するバージョン

Acrobat動作備考
4Acrobat 4.0    ※Windows 98SE + Excel 2000
5
Acrobat 5.0.5
6
Acrobat 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

PDFファイルの注釈でTextとPopupは日付を変更する。

  • 事前に参照設定をします。
  • F8キーでステップ実行しながら動作確認します。
001 Sub AcroExch_PDAnnot_SetDate() 002 003 Debug.Print "AcroExch_PDAnnot_SetDate:" & Now 004 Dim objAcroAVDoc As New Acrobat.AcroAVDoc 005 Dim objAcroAVPageView As Acrobat.AcroAVPageView 006 Dim objAcroPDDoc As Acrobat.AcroPDDoc 007 Dim objAcroPDPage As Acrobat.AcroPDPage 008 Dim objAcroPDAnnot As Acrobat.AcroPDAnnot 009 Dim objAcroTime As New Acrobat.AcroTime 010 Dim objRect As Acrobat.AcroRect 011 Dim lRet As Long '戻り値 012 Dim lPagesCnt As Long 'ページ数 013 Dim lAnnotsCnt As Long '注釈数 014 Dim i As Long '添え字 015 Dim j As Long '添え字 016 Dim lCnt As Long '件数 017 Dim lTextCnt As Long 'Text件数 018 Dim lPopupCnt As Long 'Popup件数 019 020 lCnt = 0 021 lTextCnt = 0 022 lPopupCnt = 0 023 024 '2010/01/01 00:00:00.000 025 objAcroTime.Year = 2010 '年 026 objAcroTime.Month = 1 '月 027 objAcroTime.Date = 1 '日 028 objAcroTime.Hour = 0 '時 029 objAcroTime.Minute = 0 '分 030 objAcroTime.Second = 0 '秒 031 objAcroTime.millisecond = 0 'ミリ秒 032 033 'PDFドキュメントを開いて表示する。 034 lRet = objAcroAVDoc.Open("E:\Test01.pdf", "") 035 Set objAcroPDDoc = objAcroAVDoc.GetPDDoc() 036 Set objAcroAVPageView = objAcroAVDoc.GetAVPageView() 037 'PDFドキュメントのページ数を得る 038 lPagesCnt = objAcroPDDoc.GetNumPages() - 1 039 For i = 0 To lPagesCnt 040 '該当ページのページオブジェクトを得る ★注意① 041 Set objAcroPDPage = objAcroPDDoc.AcquirePage(i) 042 'PDFビュアーのページを移動させる 043 lRet = objAcroAVPageView.Goto(i) '(TEST用) 044 'ページに存在する注釈数を得る 045 lAnnotsCnt = objAcroPDPage.GetNumAnnots() - 1 046 For j = 0 To lAnnotsCnt 047 lCnt = lCnt + 1 048 Set objAcroPDAnnot = objAcroPDPage.GetAnnot(j) 049 If objAcroPDAnnot.GetSubtype = "Text" Then 050 'テキスト注釈の日付を変更 051 lRet = objAcroPDAnnot.SetDate(objAcroTime) 052 lTextCnt = lTextCnt + 1 053 End If 054 If objAcroPDAnnot.GetSubtype = "Popup" Then 055 'Popup注釈の日付を変更 056 lRet = objAcroPDAnnot.SetDate(objAcroTime) 057 lPopupCnt = lPopupCnt + 1 058 End If 059 Next j 060 Next i 061 062 Debug.Print "全件数= " & lCnt 063 Debug.Print "Text変更件数= " & lTextCnt 064 Debug.Print "Popup変更件数= " & lPopupCnt 065 066 'PDFファイルを保存しないで閉じる 067 lRet = objAcroAVDoc.Close(1) '(TEST用) 068 'オブジェクトを強制解放する 069 Set objAcroAVDoc = Nothing 070 Set objAcroPDAnnot = Nothing 071 Set objAcroPDPage = Nothing 072 Set objAcroAVPageView = Nothing 073 Set objAcroPDDoc = Nothing 074 Set objAcroTime = Nothing 075 076 End Sub

 

 

実行結果

TEST_PDAnnot_SetDate:2008/09/25 15:55:10
全件数= 247
Text変更件数= 3
Popup変更件数= 23

補足

  • サンプルのGetSubtypeメソッドの戻り値が変です。やはりPDAnnotオブジェクトはバグがあるように思えます。

Adobe Web 解説

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

動作確認環境

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

戻る

コメントを残す

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

CAPTCHA



SAMURAI Plugin

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

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



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

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