TOP > AcroExch.PDAnnot > SetDate [...]
説明
PDFファイル上の注釈の日付をセット又は変更します。
形式
VARIANT_BOOL SetDate(LPDISPATCH iAcroTime);
引数
- 第1引数(LPDISPATCH iAcroTime) :
日付(AcroTimeオブジェクト)
戻り値
- -1 : 設定出来た。
- 0 : 設定出来なかった。又は設定出来ない。
動作するバージョン
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
説明: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
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
実行結果
TEST_PDAnnot_SetDate:2008/09/25 15:55:10
全件数= 247
Text変更件数= 3
Popup変更件数= 23
補足
- サンプルのGetSubtypeメソッドの戻り値が変です。
やはりPDAnnotオブジェクトはバグがあるように思える。
動作確認環境
- WindowsXP Pro(+ SP3) +
Acrobat 8.1.2 Pro + Office 2003 + MicrosoftUpdate
< 戻る >