Written by Allen Wyatt (last updated March 16, 2024)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, 2021, and Word in Microsoft 365
Mahmud asked for a way to print personalized copies of a document. He started with a list of names in a regular text file, one per line, and he wanted to print one copy of the current Word document for each of those names. Further, he wanted the person's name placed in the header of the document.
The process to perform such a task is fairly straightforward: open the text file, grab a name, put it in the header, and then print the document. Another name is grabbed, and the process is repeated until there are no more names in the file. The following macro implements such a process:
Sub PutNamesInHeader() Dim sName As String Open "c:/names.txt" For Input As #5 Do While Not EOF(5) ' get the name Line Input #5, sName ActiveWindow.ActivePane.View.SeekView = _ wdSeekCurrentPageHeader Selection.WholeStory Selection.Delete Selection.TypeText Text:=sName ActiveWindow.ActivePane.View.SeekView = _ wdSeekMainDocument ActiveDocument.PrintOut Loop Close #5 ActiveWindow.ActivePane.View.SeekView = _ wdSeekCurrentPageHeader Selection.WholeStory Selection.Delete ActiveWindow.ActivePane.View.SeekView = _ wdSeekMainDocument End Sub
The tricky part of the macro is using the .SeekView property to specify which story in the document you want to work with. As implemented here, the .SeekView property is used repeatedly to switch between the header area and the main document. After the loop (grabbing names and printing) is completed, the header area is cleared and the .SeekView is switched back to the main document.
Note:
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (4366) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, 2021, and Word in Microsoft 365. You can find a version of this tip for the older menu interface of Word here: Printing Personalized Copies of a Document.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!
Need to add a unique serial number to each printed copy of your document? Here's a quick way to print such numbered versions.
Discover MoreMany modern printers include multiple paper trays that can be used for different types or colors of paper. Word allows ...
Discover MoreWant to print on both sides of a piece of paper? Some printers have the capability to do two-sided printing ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments