TOP > AcroExch.PDDoc > *
説明
1つのPDFドキュメントから指定ページを削除します。
形式
VARIANT_BOOL DeletePages(long nStartPage, long nEndPage);
引数
- 第1引数(nStartPage) :
開始ページ。開始ページは0から。 - 第2引数(nEndPage) :
終了ページ。
戻り値
- -1 : 成功。指定ページは削除されました。
- 0 : 失敗。削除されなかった。該当ページが存在しなかったか、またはPDFファイルのセキュリティで編集不可の時。
動作するバージョン
| 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 | OK | 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ドキュメントの最初のページを削除し、最適化をして別名で保存します。
- F8キーでステップ実行しながら動作確認します。
- 事前に参照設定を事前にします。
001 Private Const PDSaveFull = &H1
002 Private Const PDSaveLinearized = &H4
003 Private Const PDSaveCollectGarbage = &H20
004
005 Sub AcroExch_PDDoc_DeletePages()
006 Dim objAcroPDDoc As New Acrobat.AcroPDDoc
007 Dim lRet As Long
008
009 'PDFファイルを開いて表示する
010 lRet = objAcroPDDoc.Open("E:\Test01.pdf")
011
012 '最初のページのみ削除する
013 lRet = objAcroPDDoc.DeletePages(0, 0)
014
015 '別名でPDFファイルを保存する
016 lRet = objAcroPDDoc.Save _
017 (PDSaveFull + PDSaveLinearized + _
018 PDSaveCollectGarbage, _
019 "E:\Test01_T.pdf")
020
021 'PDFファイルを閉じる
022 lRet = objAcroPDDoc.Close
023
024 'オブジェクトを強制開放する
025 Set objAcroPDDoc = Nothing
026
027 End Sub
補足
- ページ削除後にゼロ頁になる場合は戻り値に 0 の False が返り、
削除は実行されません。 - ゼロ頁のPDFは作成出来ません。
Adobe Web 解説
OLE Automation / AcroExch.PDDoc / DeletePages (公式サイト・英語)
動作確認環境
- WindowsXP Pro(+ SP3) +
Acrobat 8.1.2 Pro + Office 2003 + MicrosoftUpdate
< 戻る >