AcroExch.PDDoc: ReplacePages メソッド

TOP > AcroExch.PDDoc > ReplacePages      [...]


説明

現在のPDFドキュメントをソースPDFドキュメントから指定されたページ数で入れ替える。

リンクもしおりもコピーされないが、テキスト注釈は引数指定でコピー出来ます。

 

形式

VARIANT_BOOL ReplacePages(long nStartPage,
        LPDISPATCH iPDDocSource,
        long nStartSourcePage,
        long nNumPages,
       long bMergeTextAnnotations);

 

引数

  1. 第1引数(long nStartPage) :
    入れ替えされるページ開始番号。開始ページは0から。
  2. 第2引数(LPDISPATCH iPDDocSource) :
    入れ替え先のPDDocオブジェクト。
  3. 第3引数(long nStartSourcePage) :
    第2引数PDDocオブジェクトの入れ替え先の開始ページ番号。
  4. 第4引数(long nNumPages) :
    入れ替えるページ数。
  5. 第5引数(long bMergeTextAnnotations) :
    1:注釈も入れ替え対象とする。
    0:注釈は入れ替え対象としない。

 

戻り値

  • -1 : 成功。
  • 0 : 失敗。
    引数のエラーか、またはAcrobatアプリケーションがこの機能をサポートしていない。

 

動作するバージョン

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
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

 

説明:10ページ目を2ページ目の後に移動する。
サイレントで実行する。注釈も入れる。

  • F8キーでステップ実行しながら動作確認する。
  • 事前に参照設定をする。

 

Sub AcroExch_PDDoc_ReplacePages()

    Dim objAcroPDDoc     As New Acrobat.AcroPDDoc
    Dim objAcroPDDoc2    As New Acrobat.AcroPDDoc
    Dim lRet                    As Long
    Dim lStartPage              As Long
    Dim lStartSourcePage        As Long
    Dim lNumPages               As Long
    Dim lMergeTextAnnotations   As Long
    Const CON_FILE   As String = "E:¥Test01.pdf"
    Const CON_FILE2  As String = "E:¥Test02.pdf"

    'PDFオブジェクトをオープンする。
    '注意)Acrobatは画面に表示されない。
    lRet = objAcroPDDoc.Open(CON_FILE)
    lRet = objAcroPDDoc2.Open(CON_FILE2)

    '10ページ目を2ページ目の後に移動する。
    lStartPage = 1              '入れ替えされるページ開始番号
    lStartSourcePage = 10       '入れ替えるobjAcroPDDoc2の開始ページ番号
    lNumPages = 2               '入れ替えるページ数
    lMergeTextAnnotations = 1   '注釈も入れる
    lRet = objAcroPDDoc.ReplacePages(lStartPage, _
                            objAcroPDDoc2, _
                            lStartSourcePage, _
                            lNumPages, _
                            lMergeTextAnnotations)

    'PDFオブジェクトを解放する。
    lRet = objAcroPDDoc.Save(1, CON_FILE)
    lRet = objAcroPDDoc.Close
    lRet = objAcroPDDoc2.Close

    Set objAcroPDDoc = Nothing
    Set objAcroPDDoc2 = Nothing

End Sub

 

補足

  • 引数に存在しないページを指定すると戻り値が失敗になる。

 

動作確認環境

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

 

戻る

コメントを残す

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

CAPTCHA


出来るだけ早く返答する様には心がけています。
が、遅くなる時もありますのでご了承ください。


SAMURAI Plugin

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

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れるとエラーになる場合が有ります。その時はコードの前後に <code> ・・・</code> タグを入れてください。