
Tips.Net > WordTips Home > Printing > Printing Copy Numbers
Summary: Copy 1, Copy 2, Copy 3... Do you want to mark your printouts so that they are numbered? Here’s how you can do it. (This tip works with Microsoft Word 97, Word 2000, Word 2002, Word 2003, and Word 2007.)
In a business environment, it is not unusual to print multiple copies of a document. At times, it is beneficial to number the copies. For instance, the first copy would have (perhaps in a header or footer) the text "Copy 1," the second would have "Copy 2," on up to however many copies you have.
One option, of course, is to print the individual copies of the document, making the edits to the copy number between each print. This gets tedious, real fast. You may also want to utilize a sequential numbering field (as discussed in other WordTips) and make the number of copies equal to what you need to print. Thus, if you have to print 25 copies, you could simply copy the entire document (including the sequential numbering field), move to the end of the document, and paste it in another 24 times. This makes for a rather large overall document, however, and there are easier ways to approach the problem.
Perhaps the easiest solution to this problem (short of using a macro) is to simply use the mail-merge capabilities of Word. You would use a simple data source that contained the numbers you want assigned to each copy. Then, place the merge field at the appropriate place in y our document, and run the merge. Each copy will contain the desired copy number. The added benefit of using this approach is that you can use additional information with your merge, as needs dictate. For instance, if each copy of the document was assigned to a particular person, you could simply add another data field to your data source that contained the name of the person to receive the copy. Then, you could print that person's name in each merged document, as well.
If you prefer, you can use a macro to print out your numbered copies. For instance, the following macro asks you how many copies you want to print, along with the starting copy number to use. (This comes in real handy if you print 25 copies, and then someone asks you to print a second batch of 10, numbered 26 through 35.) The macro also stores the last copy number between sessions, so that it is used as the default when you next run the macro.
Public Sub PrintNumberedCopies1()
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
In order to use this macro, there are two other things you need to do. First, you need to indicate in your document where you want the copy number to appear. At the point where it should print, simply insert the following field (remember that you insert the field braces by pressing Ctrl+F9):
{ DOCVARIABLE "CopyNum" }
The second thing you need to do is make sure that Word is configured so that it updates fields when it prints. Now, when you run the macro, you are asked how many copies to print and what starting number to use. The document variable is updated and a single copy of the document is printed. These steps are repeated for the number of times that you chose to print.
Unfortunately, this macro solution will not work in all versions of Word. For instance, if you place the DOCVARIABLE field in the header of a Word 97 document and then print the document, Word will promptly crash.
How to get around this? Simply use a different approach. (Word is nothing, if not flexible.) The following macro works in all modern versions of Word. It is a variation of the earlier one that relies on the use of custom document properties instead of document variables.
Public Sub PrintNumberedCopies2()
Dim varItem As DocumentProperty
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.CustomDocumentProperties
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.CustomDocumentProperties.Add _
Name:="CopyNum", LinkToContent:=False, _
Type:=msoPropertyTypeNumber, 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.CustomDocumentProperties("CopyNum") + 1)))
' loop through the print-write-print cycle
For lCounter = 0 To lCopiesToPrint - 1
' update the document variable
ActiveDocument.CustomDocumentProperties("CopyNum") = _
lCopyNumFrom + lCounter
' print this numbered copy
ActiveDocument.PrintOut Copies:=1
Next lCounter
End Sub
In order to use this macro, there are two other things you need to do. First, you need to indicate in your document where you want the copy number to appear. At the point where it should print, simply insert the following field (remember that you insert the field braces by pressing Ctrl+F9):
{ DOCPROPERTY "CopyNum" }
When you first insert the field, you may see an error message returned by the field, such as "Error! Unknown document property name." Don't worry; this will go away and be replaced by the proper copy number after you run the macro.
The second thing you need to do is make sure that Word is configured so that it updates fields when it prints. Now, when you run the macro, you are asked how many copies to print and what starting number to use. The document variable is updated and a single copy of the document is printed. These steps are repeated for the number of times that you chose to print.
Tip #844 applies to Microsoft Word versions: 97 2000 2002 2003 2007
Take Control! Experienced users know that styles can make the difference between a plain document and a masterful one. This is the real power behind Word, and the key to that power can be found in WordTips: Styles and Templates.
Have thousands of WordTips at your fingertips, on your own system. Answer your own questions or help support others. (more information...)
Ask a Word Question
Make a Comment
Beauty Tips
Bugs and Pests Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pet Tips
Word2007 Tips
WordTips