TOP > AcroExch.AVDoc > PrintPagesSilent [...]
説明
どんなダイアログボックスも表示しないで、指定された範囲のページを印刷します。
このメソッドはダイアログボックスを表示しないのを除いたAVDoc.PrintPagesと同じです。
PrintPagesSilentはいつもデフォルトプリンタ設定を使用します。
形式
VARIANT_BOOL PrintPagesSilent(
long nFirstPage,
long nLastPage,
long nPSLevel,
long bBinaryOk,
long bShrinkToFit);
引数
- 第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)=縮小しない
戻り値
- 0 : 成功。
- -1 : PDFドキュメントがオープンされてないか、他で印刷中の場合。
動作するバージョン
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
説明:どんなダイアログボックスも表示しないで、指定された範囲のページを印刷します。
- F8キーでステップ実行しながら動作確認する。
- 事前に参照設定をする。
Sub AcroExch_AVDoc_PrintPagesSilent()
Dim objAcroApp As New Acrobat.AcroApp
Dim objAcroAVDoc As New Acrobat.AcroAVDoc
Dim lRet As Long
'Acrobatアプリケーションを起動する。
lRet = objAcroApp.Show
'PDFファイルを開いて表示する。
lRet = objAcroAVDoc.Open("E:¥Test01.pdf", "")
'PDFファイルの頁を指定して印刷する。
lRet = objAcroAVDoc.PrintPagesSilent(1, 2, 2, 0, 0)
'PDFファイルを閉じます。
lRet = objAcroAVDoc.Close(1)
'Acrobatアプリケーションを終了する。
lRet = objAcroApp.Hide
lRet = objAcroApp.Exit
'オブジェクトを強制解放する
Set objAcroAVDoc = Nothing
Set objAcroApp = Nothing
End Sub
補足
- 印刷先のデフォルトプリンタを変更する事が出来ます。
「デフォルトプリンタを一時的に変更する方法」 を参照して下さい。
参照
動作確認環境
- WindowsXP Pro(+ SP3) +
Acrobat 8.1.2 Pro + Office 2003 + MicrosoftUpdate
< 戻る >
ブラウザ画面の文字サイズを変更するショートカットキー
Shortcut Keys
|
管理人様
お世話になっております。
現在、PDFをXPSに変換時、
ファイル名ダイアログを表示しないようにする方法を検討しております。
PrintPagesSilent メソッドでは、ファイル名を指定するパラメタはなく、
使用しても、ファイル名ダイアログが表示されてしまいます。
その他のメソッド等みましたが、対策が見当たりませんでした。
もし、ご存知でしたら教えていただけないでしょうか?
きんじ さん
はじめまして
取り急ぎ、分かっている範囲で返答させて頂きます。
PrintPagesSilent メソッドはAcrobatの印刷ダイアログを非表示で処理するのであって、XPSに変換する「Microsoft XPS Document Writer」のコントロールは出来ません。
このMicrosoft XPS Document Writerについて調べると必ず「ファイル名で保存」するダイアログが必ず表示されます。
事前にファイル名等が設定出来ればいいのですが、ちょっとネット検索しても見つかりません。
でも、裏ワザ的な方法は有ります。
決してスマートでは無いです。※むしろ「恥ずかしい」かも・・
ファイル保存ダイアログが表示されたら、ササッとファイル名を入力して、保存ボタンをクリックします。
VBAプログラムから行います。
AutoItと言う無料(GPL)の自動化ソフトを使うことによりVBA等からでも上記の処理ができます。
以下にそれを利用したサンプルが有ります。
Acrobat のアクション、バッチ処理を実行する (Acrobat 6~10)
AutoItは本体が英語版ですが、有志による日本語情報も有るのでそれが利用できます。
使った感じはOLEほどでは無いですが、使い方によっては十分機能を発揮します。
一度、ご検討ください。
AutoIt 本家 配布サイト(英語)
http://www.autoitscript.com/site/
AutoIt プログラミング(日本語)
http://autoitjp.at-ninja.jp/
AutoIt の日本語ドキュメントを公開しているサイト(日本語)
http://blog.livedoor.jp/blackcode/archives/1224220.html
管理人様
ご回答ありがとうございます。
やはり、事前にファイル名等が設定する処理がないのですね。。
ご提供頂いた自動化ソフトについても参考にさせていただきます。
ありがとうございました。