当您单击打印工具时,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命令的名称,这些内部Word命令显示“打印”对话框(FilePrint),并通过使用工具栏上的“打印”工具打印活动文档(FilePrintDefault)。

使用这些宏时,使用显示的名称实际上是替换内部的Word命令。

对于新的FilePrint宏,将检查文档属性以查看是否有一个名为“副本”。如果没有,则创建具有该名称的文档属性并将其设置为值1。然后,显示“打印”对话框,并根据自定义文档属性设置“份数”值。然后,您可以根据需要更改“份数”设置。关闭对话框时(无论是否通过打印),“份数”文档属性都会更新为“份数”设置。

另一方面,FilePrintDefault宏仅检查以确保“份数”文档属性存在,并根据其值设置要打印的份数。如果该属性不存在,则会创建该属性并将其设置为1。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

链接:/ wordribbon-WordTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(10603)适用于Microsoft Word 2007、2010和2013。您可以在此处找到适用于Word的较早菜单界面的本技巧的版本:

链接:/ word-Remembering_Copies_to_Print [记住要打印的副本]。