在商业环境中,打印文档的多个副本并不罕见。有时,对副本编号是有益的。例如,第一个副本将具有(也许在页眉或页脚中)文本“ Copy 1”,第二个副本将具有“ Copy 2”,最多可包含多少副本。

当然,一种选择是打印文档的各个副本,然后在每次打印之间对副本编号进行编辑。这变得乏味,快速。您可能还希望利用顺序编号字段(如其他_WordTips_中所述),并使副本数等于您需要打印的数量。因此,如果您必须打印25份,则只需复制整个文档(包括顺序编号字段),移至文档末尾,然后再粘贴24次。但是,这使整个文档相当庞大,并且有更简单的方法来解决该问题。

解决此问题的最简单方法(缺少使用宏)可能是简单地使用Word的邮件合并功能。您将使用一个简单的数据源,其中包含要分配给每个副本的编号。然后,将合并字段放在文档中的适当位置,然后运行合并。每个副本将包含所需的副本编号。使用这种方法的额外好处是,您可以根据需要在合并中使用其他信息。例如,如果文档的每个副本都分配给一个特定的人,则只需在数据源中简单地添加另一个数据字段,其中包含要接收该副本的人的姓名。然后,您也可以在每个合并的文档中打印该人的姓名。

如果愿意,可以使用宏来打印编号的副本。

例如,下面的宏询问您要打印多少份,以及要使用的起始份数。 (如果您打印25份,然后有人要求您打印第二批10份,编号从26到35,这非常方便。)该宏还存储了会话之间的最后一份副本,因此将其用作默认值当您下次运行宏时。

Public Sub PrintNumberedCopies()

Dim varItem As Variable     Dim bExists As Boolean     Dim lCopiesToPrint As Long     Dim lCounter As Long     Dim lCopyNumFrom As Long

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

' initialize document variable if doesn't exist     If Not bExists Then         ActiveDocument.Variables.Add _             Name:="CopyNum", Value:=0     End If

' ask how many to print     lCopiesToPrint = InputBox( _         Prompt:="How many copies?", _         Title:="Print And Number Copies", _         Default:="1")



' ask where to start numbering     lCopyNumFrom = CLng(InputBox( _         Prompt:="Number at which to start numbering copies?", _         Title:="Print And Number Copies", _         Default:=CStr(ActiveDocument.Variables("CopyNum") + 1)))



' loop through the print-write-print cycle     For lCounter = 0 To lCopiesToPrint - 1         ' update the document variable         ActiveDocument.Variables("CopyNum") = _             lCopyNumFrom + lCounter         ' print this numbered copy         ActiveDocument.PrintOut Copies:=1     Next lCounter End Sub

为了使用此宏,您还需要执行其他两项操作。

首先,您需要在文档中指出您希望副本号出现的位置。在应该打印的位置,只需插入以下字段(请记住,通过按Ctrl + F9插入字段括号):

{ DOCVARIABLE "CopyNum" }

您需要做的第二件事是确保已配置Word,以便它在打印时更新字段。现在,当您运行宏时,系统将询问您要打印多少份以及要使用的起始编号。 document变量将更新,并打印文档的单个副本。这些步骤会重复执行您选择打印的次数。

注意:

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

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

(Microsoft Word是世界上最流行的文字处理软件。)本提示(13136)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里: