AcroExch.AVDoc: PrintPagesSilent メソッド

TOP > AcroExch.AVDoc > PrintPagesSilent      [...]


説明

どんなダイアログボックスも表示しないで、指定された範囲のページを印刷します。

このメソッドはダイアログボックスを表示しないのを除いたAVDoc.PrintPagesと同じです。

PrintPagesSilentはいつもデフォルトプリンタ設定を使用します。

 

形式

VARIANT_BOOL PrintPagesSilent(
               long nFirstPage,
               long nLastPage,
               long nPSLevel,
               long bBinaryOk,
               long bShrinkToFit);

 

引数

  1. 第1引数(long nFirstPage) :
    印刷を開始する頁番号。1頁目は0を指定する。
  2. 第2引数(long nLastPage) :
    印刷の終了頁。第1引数に注意。
  3. 第3引数(long nPSLevel) :
    ポストレベルを指定する。(2又は3)
  4. 第4引数(long bBinaryOk) :
      0以外の数値ならバイナリーデータ。
      0は7-bit ASCIIデータ。
  5. 第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

 

戻る


キーボード

ブラウザ画面の文字サイズを変更するショートカットキー

  1. [ CTRL ] + [ + ]  :  文字を大きく
  2. [ CTRL ] + [ - ]  :  文字を小さく

Shortcut Keys

  1. [ CTRL ] + [ + ]  :  Up the font size
  2. [ CTRL ] + [ - ]  :  Down the font size

「AcroExch.AVDoc: PrintPagesSilent メソッド」への3件のフィードバック

  1. 管理人様

    お世話になっております。

    現在、PDFをXPSに変換時、
    ファイル名ダイアログを表示しないようにする方法を検討しております。

    PrintPagesSilent メソッドでは、ファイル名を指定するパラメタはなく、
    使用しても、ファイル名ダイアログが表示されてしまいます。

    その他のメソッド等みましたが、対策が見当たりませんでした。
    もし、ご存知でしたら教えていただけないでしょうか?

  2. きんじ さん
    はじめまして
    取り急ぎ、分かっている範囲で返答させて頂きます。

    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

  3. 管理人様

    ご回答ありがとうございます。

    やはり、事前にファイル名等が設定する処理がないのですね。。

    ご提供頂いた自動化ソフトについても参考にさせていただきます。
    ありがとうございました。

コメントを残す

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

CAPTCHA


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


SAMURAI Plugin

コメントをする時は最低でも以下をお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン