Функция _WordDocPrint

 ↑  ←  Описание функции


_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 [необязательный] Указывает, печатать ли все страницы документа перед печатью следующей копии.
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() the document will not have time to print.

Чтобы задать сетевой принтер, его нужно указать в следующем формате "\\Server\Printer".

Пример

; *******************************************************
; Пример 1 - Create a word window, open a document, set the text,
;               print with defaults, and quit without saving changes.
; *******************************************************

#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 - Create a word window, open a document, set the text,
;               print using landscape, and quit without saving changes.
; *******************************************************

#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 - Create a word window, open a document, set the text,
;               print to a printer named "My Printer", and quit without saving changes.
; *******************************************************

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