Function Reference

_WordDocPrint

指定したドキュメントの全てまたは一部を印刷します。

#include <Word.au3>
_WordDocPrint ( ByRef $o_object [, $b_Background = 0 [, $i_Copies = 1 [, $i_Orientation = -1 [, $b_Collate = 1 [, $s_Printer = "" [, $i_Range = 0 [, $i_From = "" [, $i_To = "" [, $s_Pages = "" [, $i_PageType = 0 [, $i_Item = 0]]]]]]]]]]] )

 

パラメータ

$o_object ドキュメントオブジェクトまたはWord.Applicationのオブジェクト変数
$b_Background [オプション] Microsoft Wordがドキュメントを印刷している間にスクリプト処理を進めるかどうか指定します。 (注意を参照)
0 = (デフォルト) ドキュメント印刷を待機します
1 = 待機せずにスクリプト処理を続けます
$i_Copies [オプション] 印刷部数。
$i_Orientation [オプション] ページ方向設定。
-1 = (デフォルト) 現在のドキュメントの方向
0 = 縦
1 = 横
$b_Collate [オプション] 次の1部を印刷する前にドキュメントの全ページを印刷するかどうかを指定します。
0 = 部単位でない印刷
1 = (デフォルト) 部単位での印刷
$s_Printer [オプション] プリンタ名を設定します。 (注意を参照)
$i_Range [オプション] ページ範囲を指定します。
0 = (デフォルト) ドキュメント全体
1 = 現在の選択範囲
2 = 現在のページ
3 = 指定したページ ($i_Fromと$i_Toを指定しなければなりません)
4 = 指定したページ範囲 ($s_Pagesを指定しなければなりません)
$i_From [オプション] $i_Rangeが3に設定されている場合、開始ページ番号。
$i_To [オプション] $i_Rangeが3に設定されている場合、終了ページ番号。
$s_Pages [オプション] $i_Rangeが4に設定されている場合、カンマで区切られた印刷されるページ番号とページ範囲。例えば"2, 6-10"とすると2ページ目と6ページ目から10ページ目が印刷されます。
$i_PageType [オプション] 印刷されるページの種類。
0 = (デフォルト) 全てのページ
1 = 奇数番目のページのみ
2 = 偶数番目のページのみ
$i_Item [オプション] 印刷されるアイテム。
0 = (デフォルト) 現在のドキュメントの内容
1 = 現在のドキュメントのプロパティ
2 = 現在のドキュメントのコメントとマークアップ
3 = 現在のドキュメントのスタイル
4 = 現在のドキュメントの定型句のエントリ
5 = 現在のドキュメントのキー割り当て
6 = 封筒
7 = マークアップを含む現在のドキュメントの内容

 

返し値

成功: 1を返します
失敗: 0を返し@ERROR = 1を設定します
@Error: $_WordStatus_Success = 正常終了
$_WordStatus_GeneralError = 一般的なエラー
$_WordStatus_ComError = Comエラー
$_WordStatus_InvalidDataType = 無効なデータ型
$_WordStatus_InvalidObjectType = 無効なオブジェクト型
$_WordStatus_InvalidValue = 無効な値
@Extended: 無効なパラメータの数を格納

 

注意

$b_Backgroundはドキュメント印刷が終了するまでスクリプトを一時停止するわけではありません。Microsoft Wordのプリンタに対するドキュメント送信が終了するまで待機するだけです。バックグラウンドでの印刷をおこなう場合、すぐに_WordQuit()をおこなうとドキュメントを印刷するための時間がなくなってしまいます。

ネットワーク上のプリンタを指定する場合は"\\Server\Printer"形式で指定する必要があります。

 

関連

None.

 


; *******************************************************
; 例 1 - Wordウィンドウを作成。ドキュメントを開く。テキストを設定
;               デフォルト設定で印刷。変更を保存せずに終了
; *******************************************************
;
#include <Word.au3>
$oWordApp = _WordCreate (@ScriptDir & "\Test.doc")
$oDoc = _WordDocGetCollection ($oWordApp, 0)
$oDoc.Range.Text = "This is some text to print."
_WordDocPrint ($oDoc)
_WordQuit ($oWordApp, 0)

; *******************************************************
; 例 2 - Wordウィンドウを作成。ドキュメントを開く。テキストを設定
;               横方向で印刷。 変更を保存せずに終了
; *******************************************************
;
#include <Word.au3>
$oWordApp = _WordCreate (@ScriptDir & "\Test.doc")
$oDoc = _WordDocGetCollection ($oWordApp, 0)
$oDoc.Range.Text = "This is some text to print."
_WordDocPrint ($oDoc, 0, 1, 1)
_WordQuit ($oWordApp, 0)

; *******************************************************
; 例 3 - Wordウィンドウを作成。ドキュメントを開く。テキストを設定
;               "My Printer"という名前のプリンタで印刷。変更を保存せずに終了
; *******************************************************
;
#include <Word.au3>
$oWordApp = _WordCreate (@ScriptDir & "\Test.doc")
$oDoc = _WordDocGetCollection ($oWordApp, 0)
$oDoc.Range.Text = "This is some text to print."
_WordDocPrint ($oDoc, 0, 1, 0, 1, "My Printer")
_WordQuit ($oWordApp, 0)