Когда вы нажимаете на инструмент «Печать», Word автоматически распечатывает одну копию вашего документа. Это происходит независимо от количества копий, которое вы ранее выбрали для печати в диалоговом окне «Печать». Это не уникальное забавное поведение инструмента печати. Действительно, каждый раз, когда вы повторно открываете диалоговое окно «Печать», вы должны заметить, что параметр «Число копий» всегда сбрасывается на 1.

Word всегда страдает от потери кратковременной памяти в этой области; Параметр «Число копий» просто не является «постоянным» и должен устанавливаться каждый раз, когда вы хотите распечатать. Это может быть неприятным, особенно если вы хотите печатать одинаковое количество копий на постоянной основе.

Есть два пути к решению. Во-первых, вы можете создать макрос, который будет печатать на текущем выбранном принтере определенное количество копий. Это отличный подход, если вы постоянно печатаете определенное количество копий. Следующий макрос, например, напечатает четыре копии текущего документа:

Sub PrintFour()

ActiveDocument.PrintOut Copies:=4 End Sub

Если вы назначите этот макрос link: / wordribbon-Adding_Tools_to_the_Quick_Access_Toolbar [Панель быстрого доступа] или сочетанию клавиш, то простым щелчком или комбинацией клавиш будет напечатано желаемое количество копий.

Второе решение более сложное, но может быть более гибким в долгосрочной перспективе. Это решение включает использование настраиваемого свойства документа для поддержания, для каждого документа, количества последних напечатанных копий. Этот параметр используется в качестве количества копий для печати, тем самым обеспечивая постоянное количество копий для каждого документа. Следует использовать следующие два макроса:

Public Sub FilePrint()

Dim bExists As Boolean     Dim MyPrint As Dialog

' ensure our doc variable exists     bExists = False     For Each varItem In ActiveDocument.CustomDocumentProperties         If varItem.Name = "Copies" Then             bExists = True             Exit For         End If     Next varItem          ' initialize document variable if doesn't exist     If Not bExists Then         ActiveDocument.CustomDocumentProperties.Add _           Name:="Copies", LinkToContent:=False, _           Type:=msoPropertyTypeNumber, Value:=1     End If

Set MyPrint = Dialogs(wdDialogFilePrint)

With MyPrint         .NumCopies = ActiveDocument.CustomDocumentProperties("Copies")

.Show     End With

ActiveDocument.CustomDocumentProperties("Copies") = _       MyPrint.NumCopies

Set MyPrint = Nothing End Sub
Public Sub FilePrintDefault()

Dim bExists As Boolean

' ensure our doc variable exists     bExists = False     For Each varItem In ActiveDocument.CustomDocumentProperties         If varItem.Name = "Copies" Then             bExists = True             Exit For         End If     Next varItem

' initialize document variable if doesn't exist     If Not bExists Then         ActiveDocument.CustomDocumentProperties.Add _           Name:="Copies", LinkToContent:=False, _           Type:=msoPropertyTypeNumber, Value:=1     End If

ActiveDocument.PrintOut Copies:= _       CInt(ActiveDocument.CustomDocumentProperties("Copies"))

End Sub

У этих макросов есть специальные имена, FilePrint и FilePrintDefault. Это имена, присвоенные внутренним командам Word, которые отображают диалоговое окно «Печать» (FilePrint) и распечатывают активный документ (FilePrintDefault) с помощью инструмента «Печать» на панели инструментов.

Когда вы используете эти макросы с указанными именами, вы по существу заменяете внутренние команды Word.

В случае нового макроса FilePrint свойства документа проверяются, чтобы узнать, есть ли один с именем Copies. Если нет, то создается свойство документа с этим именем, которому присваивается значение 1.

Затем отображается диалоговое окно «Печать», и значение «Количество копий» устанавливается на основе свойства настраиваемого документа. Затем вы, как пользователь, можете изменить настройку «Количество копий» по своему желанию. Когда диалоговое окно закрывается (путем печати или нет), свойство документа Копии обновляется до любого значения, установленного для параметра Число копий.

Макрос FilePrintDefault, с другой стороны, только проверяет, существует ли свойство Copies document, и устанавливает количество копий для печати на основе его значения. Если свойство не существует, оно создается и устанавливается равным 1.

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (10603) относится к Microsoft Word 2007, 2010 и 2013.

Вы можете найти версию этого совета для старого интерфейса меню Word здесь:

link: / word-Remembering_Copies_to_Print [Запоминание копий для печати].