Please Note: This article is written for users of the following Microsoft Word versions: 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365. If you are using an earlier version (Word 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Word, click here: Saving Personalized Copies of a Document.
Written by Allen Wyatt (last updated March 9, 2019)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365
When you are working with other people in your company or perhaps with a group of clients, you may want to create a personalized file for each client. While it may be best to do the creating by using a mail merge, if your personalization needs are modest, there is an easier way.
Start by creating a regular text file that contains the names of individuals who are to receive your document, one name per line. The macro will then stuff the name into the header of a document and save the document under that person's name. Thus, if your text file has fifteen people in it, you'll end up with fifteen copies of the document, one per person. Each will be personalized with the individual's name in the header.
The process to perform such a task is fairly straightforward: open the text file, grab a name, put it in the header, and then save 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 SaveNameFiles() Dim sName As String Dim sFile As String Open "c:/names.txt" For Input As #5 On Error Resume Next Do While Not EOF(5) ' get the name Line Input #5, sName sFile = sName & ".doc" sFile = "c:\mypath\" & sFile ActiveWindow.ActivePane.View.SeekView = _ wdSeekCurrentPageHeader Selection.WholeStory Selection.Delete Selection.TypeText Text:=sName ActiveWindow.ActivePane.View.SeekView = _ wdSeekMainDocument ActiveDocument.SaveAs FileName:=sFile 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.
Note, as well, that the sFile variable specifies the name of the file in which the personalized document will be saved. Right after the name is grabbed from the text file, the sFile variable is constructed by adding the .doc file extension and the path to the front of the file name. (You should change the path to one that is appropriate for your system.)
The actual save operation is relatively easy; the .SaveAs method is used with a filename. This is the most error-prone line of code in the macro, since one of the names read from the file could include characters that are inappropriate for valid filenames. If this is the case, an error is generated, and the macro continues with the next line. The document, however, will not be saved under the offending name.
After the loop (grabbing names and saving) 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 (7983) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365. You can find a version of this tip for the older menu interface of Word here: Saving 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!
Read-only documents (those that cannot be updated) are part and parcel of working with Word. There are many ways that a ...
Discover MoreAs you move to a newer version of Word, you may notice that your documents all of a sudden require more disk space ...
Discover MoreAfraid of messing up an existing document by some changes you are considering? Consider opening the document as ...
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 © 2024 Sharon Parq Associates, Inc.
Comments