TOP > AcroExch.AVDoc > *
説明
PDFドキュメントの印刷範囲ページ等を指定して印刷します。PrintPagesExには、PrintPagesより多くのパラメタがあります。デフォルトのプリンタ設定で印刷されます。(変更可能。備考参照)
形式
VARIANT_BOOL printPagesEx(long nFirstPage,
long nLastPage,
long nPSLevel,
long bBinaryOk,
long bShrinkToFit,
long bReverse,
long bFarEastFontOpt,
long bEmitHalftones,
long iPageOption);
引数
- 第1引数(long nFirstPage) :
印刷を開始する頁番号。1頁目は0を指定します。 - 第2引数(long nLastPage) :
印刷の終了頁。第1引数に注意。 - 第3引数(long nPSLevel) :
ポストレベルを指定します。(2又は3) - 第4引数(long bBinaryOk) :
0以外の数値ならバイナリーデータ。
0は7-bit ASCIIデータ。 - 第5引数(long bShrinkToFit) :
用紙の印刷可能領域に収まる様に縮小印刷指定します。
0(false)=縮小印刷する
0以外(true)=縮小しない - 第6引数(long bReverse) :
(ポストスクリプト印刷専用)
正の数:逆順に印刷
正の数で無い:昇順に印刷 - 第7引数(long bFarEastFontOpt) :
(ポストスクリプト印刷専用)
目的のプリンタに「マルチ-バイト」字体があるなら、正の数にセット。
でなければ、0にセット。 - 第8引数(long bEmitHalftones) :
(ポストスクリプト印刷専用)
0以外の正の数:ドキュメントで指定されたハーフトーン
0:以外。 - 第9引数(long iPageOption) :
印刷範囲のオプション。以下のどれかを指定します。
※iac.basファイルのモジュールから
PDAllPages(-3):範囲内の全てのページ
PDEvenPagesOnly(-5):偶数ページのみ
PDOddPagesOnly(-4):奇数ページのみ
参照:http://kb2.adobe.com/jp/cps/510/510763.html
戻り値
- 0 : 成功。
- -1 : 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キーでステップ実行しながら動作確認します。
- iac.basファイルが標準モジュールで別途必要です。
001 Sub AcroExch_AVDoc_PrintPagesEx()
002
003 Dim objAcroApp As New Acrobat.AcroApp
004 Dim objAcroAVDoc As New Acrobat.AcroAVDoc
005 Dim lRet As Long
006
007 'Acrobatアプリケーションを起動する。
008 lRet = objAcroApp.Show
009 'PDFファイルを開いて表示する。
010 lRet = objAcroAVDoc.Open("E:\Test01.pdf", "")
011
012 'PDFファイルの頁を指定して印刷する。
013 lRet = objAcroAVDoc.PrintPagesEx(1, 2, 2, 0, 0, _
014 0, 0, 0, PDAllPages)
015
016 'PDFファイルを閉じます。
017 lRet = objAcroAVDoc.Close(1)
018
019 'Acrobatアプリケーションを終了する。
020 lRet = objAcroApp.Hide
021 lRet = objAcroApp.Exit
022
023 ‘オブジェクトを強制解放する
024 Set objAcroAVDoc = Nothing
025 Set objAcroApp = Nothing
026
027 End Sub
028
補足
- 正直、第7引数、第8引数の詳細な使用方法が不明です。m(_ _;)m
- 印刷先のデフォルトプリンタを変更する事が出来ます。
「デフォルトプリンタを一時的に変更する方法」 を参照して下さい。
Adobe Web 解説
OLE Automation / AcroExch.AVDoc / PrintPagesEx (公式サイト・英語)
動作確認環境
- WindowsXP Pro(+ SP3) +
Acrobat 8.1.2 Pro + Office 2003 + MicrosoftUpdate
参考
< 戻る >