TOP > AcroExch.PDPage > *
説明
現在のページのページ番号を返します。ドキュメントにおける最初のページはゼロページです。
形式
long GetNumber();
引数
- 無し。
戻り値
- 0以上の数値。
動作するバージョン
| 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
注釈が無いページ番号を探します。
注意:以下のサンプルは正しい結果を得るとは限りません。GetNumAnnotsメソッドが正しく動作している様に見えないからです。
- 事前に参照設定をします。
- F8キーでステップ実行しながら動作確認します。
001 Sub AcroExch_PDPage_GetNumber()
002
003 Debug.Print "Test_AcroPDPage_GetNumber"
004 Dim objAcroApp As New Acrobat.AcroApp
005 Dim objAcroAVDoc As New Acrobat.AcroAVDoc
006 Dim objAcroPDDoc As New Acrobat.AcroPDDoc
007 Dim objAcroPDPage As Acrobat.AcroPDPage
008 Dim objAcroPDAnnot As Acrobat.AcroPDAnnot
009 Dim lRet As Long '戻り値
010 Dim i As Long '添え字
011 Dim lPage As Long 'ページ数
012 Dim lPageSkipCnt As Long 'ページ数合計
013 Dim lAnnots As Long '注釈数
014
015 Const FILEPATH As String = "E:\Test01.pdf"
016
017 'Acrobatを起動表示する
018 lRet = objAcroApp.Show '(TEST用)
019 'PDFドキュメントを開く
020 lRet = objAcroPDDoc.Open(FILEPATH)
021 '画面にPDFを表示する。
022 lRet = objAcroAVDoc.Open(FILEPATH, "") '(TEST用)
023
024 lPageSkipCnt = 0
025 lPage = objAcroPDDoc.GetNumPages - 1
026 Debug.Print "全頁数=" & lPage + 1
027
028 For i = 0 To lPage
029 Set objAcroPDPage = objAcroPDDoc.AcquirePage(i)
030 'ページ内にある注釈要素の数を得ます。★バグ有り?
031 lAnnots = objAcroPDPage.GetNumAnnots - 1
032 If lAnnots < 0 Then
033 lPageSkipCnt = lPageSkipCnt + 1
034 Debug.Print "注釈オブジェクトが無い頁=" _
035 & objAcroPDPage.GetNumber
036 End If
037 Next i
038
039 Debug.Print "注釈オブジェクトが無い合計ページ数=" _
040 & lPageSkipCnt
041 'PDFファイルを閉じる
042 lRet = objAcroPDDoc.Close
043
044 'Acrobatを閉じる
045 lRet = objAcroApp.Hide '(TEST用)
046 lRet = objAcroApp.Exit '(TEST用)
047
048 'オブジェクトを強制解放する
049 Set objAcroAVDoc = Nothing '(TEST用)
050 Set objAcroPDAnnot = Nothing
051 Set objAcroPDPage = Nothing
052 Set objAcroPDDoc = Nothing
053 Set objAcroApp = Nothing
054
055 End Sub
実行結果
実行結果はExcelのVBA開発環境のイミディエイトウインドウに表示しました。
Test_AcroPDPage_GetNumber
全頁数=34
注釈オブジェクトが無い頁=4
注釈オブジェクトが無い頁=5
注釈オブジェクトが無い頁=8
注釈オブジェクトが無い頁=11
注釈オブジェクトが無い頁=12
注釈オブジェクトが無い頁=14
注釈オブジェクトが無い頁=15
注釈オブジェクトが無い頁=17
注釈オブジェクトが無い頁=18
注釈オブジェクトが無い頁=19
注釈オブジェクトが無い頁=20
注釈オブジェクトが無い頁=21
注釈オブジェクトが無い頁=22
注釈オブジェクトが無い頁=23
注釈オブジェクトが無い頁=24
注釈オブジェクトが無い頁=26
注釈オブジェクトが無い頁=27
注釈オブジェクトが無い頁=28
注釈オブジェクトが無い頁=29
注釈オブジェクトが無い頁=30
注釈オブジェクトが無い合計ページ数=20
※上記の結果が正しいという確認が現段階(2008/7/22)では出来ません。
補足
- F8キーでステップ実行し、各メソッドによりどのような動きをするかよく観察すること。
- (TEST用)はテスト用のロジックで実用時は不要です。
Adobe Web 解説
OLE Automation / AcroExch.PDPage / GetNumber (公式サイト・英語)
動作確認環境
- WindowsXP Pro(+ SP3) +
Acrobat 8.1.2 Pro + Office 2003 + MicrosoftUpdate
< 戻る >