Graham Mayor

... helping to ease the lives of Microsoft Word users.

Many people access the material from this web site daily. Most just take what they want and run. That's OK, provided they are not selling on the material as their own; however if your productivity gains from the material you have used, a donation from the money you have saved would help to ensure the continued availability of this resource. Click the appropriate button above to access PayPal.

Mail merge with Office XP & 2003

The great Christmas card debacle of 2002 demonstrated to many people what a dog's breakfast Microsoft had made, of what was a relatively simple procedure in Word 97/2000 …. the Word 2002/3 mail merge to mailing labels.

The interface has been completely redesigned, and simple functions have been replaced with unnecessary complexity. For those struggling to make sense of the new 'features' fellow MVP Suzanne Barnhill has produced a document on her web site that will help restore the old ways of doing things. Below, there follows a pictorial walk-through of some of the more salient points.

If you are merging to labels from a Tablet PC (or in some instances with Office 2007 with other PCs) the labels may not be reproduced correctly, in which case see also this workaround.

Mail merge toolbar

Struggle with the complexities of the mail merge wizard and its task panes by all means, but the following method means constructing the labels from the mail merge toolbar, so start by adding the toolbar:

If you merge regularly, you may find it worthwhile to use a small macro activated by a toolbar button to toggle the mail merge toolbar on and off. The code for that would be as follows:

Sub MergeBar()
With CommandBars("Mail Merge")
.Visible = Not .Visible
End With
End Sub

If unfamiliar with the use of macro listings, follow this link for instructions.

The capability to merge from Outlook isn’t available in the Mail Merge toolbar by default. To add this capability, drag the MailMergeUseAddressBook command (from the All Commands category in Tools > Customize) to the toolbar as shown below.

 

In Word 2003, this command often produces an error message.

 

If this occurs, you can download this linked file to restore the function. View the readme file contained in the zip for installation instructions.

You may also, initiate the merge from within Outlook. As starting the merge from Outlook provides access to all the contacts list fields, it is more sensible to start the merge from Outlook in any Office version.

Create the merge layout document

Although this page is primarily concerned with label merges, there is no essential difference between the different types of merge available from Word. Labels were chosen as an example simply because they are the most complex. Word also provides form letter, directory (called catalog in some earlier versions), e-mail, fax (in some circumstances) and envelope merges.

Letters  - a new page is created for each record
E-Mail messages- merge to e-mail?
Faxes - merge to fax?
Envelope - a form letter type of merge, that additionally allows envelope document selection. You could instead use a form letter merge with a document created from an envelope template (samples available from the downloads page)
Labels - the main topic of this page
Directory (Catalog) - a new line is created for each record
Normal Word Document - removes any attached data file.

Click the leftmost icon to choose the document type - here labels, then click OK.

This provides the opportunity to pick the label type that matches your label stock, or even to create your own layout for some obscure label variety that does not match one of the many pre-configured types.

Assenting to the label choice produces a page comprising an empty table ready to receive your layout.

If you wish to start instead from a label template or a previously created table document that will represent the finished labels, click 'Cancel' at the above dialog. This will set the current document as the label merge document.

If that label template is one of the label template formats that you can download from the Microsoft web site eg http://office.microsoft.com/en-gb/templates/TC102450901033.aspx as shown in the next illustration, you will see that the table cells are filled with text entries denoting Name, Address, City, State & Zip.

These are NOT merge fields but simple text entries. Replace the text in the first cell with the fields from your data source as described later on this page and propagate the labels to replace the text in the other cells.

Choose the data source

Word can use a wide variety of data sources. By default Word 2002/3 will try and connect to a data source in the 'My Data Sources' folder. This will not help much if the data source is an Outlook Contacts' list or a Word or Excel document, for example, in some other folder. Don't be thrown by the two default entries shown in the illustration below, simply move to the folder that contains your data file and select it.

There is no mechanism included by which the My Data Sources folder can be set to a different location; however, you can set the data source folder to a path on the same drive as the My Documents folder by means of a registry hack. The folder is defined at:

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\DataServices

Edit the 'MyData' sub key to the required folder name (without quotes). The start point for the path is My Documents and the entry in the data key would be a sub folder of My Documents, which by default is the My Data Sources sub folder. If the DataServices key has no entry the default setting is used.

To move up to My Documents enter . (a period/full stop). To move up two folders enter .. (two periods/full stops). Although I have not tested it, the convention is one period/full stop for each level, so if your My Documents folder is buried deeper, in theory at least you should be able to add extra periods/full stops to take you back to the root level of the drive. I regret I have not found a way to change drives within this mechanism.

This method allow you to move the folder to a different path location. e.g., here I have My Documents as a sub folder of the D: drive i.e. "D:\My Documents" thus the default setting for the data folder would be  "D:\My Documents\My Data Sources" . To move that data folder to  "D:\My Documents" you would change the default My Data Sources entry for a period/full stop to move up a level.

To move to another sub folder of My Documents eg "D:\My Documents\Merge" simply change the default "My Data Sources" to "Merge"

And to move to a different branch of the folder structure eg to "D:\Merge", add the period/full stop to the path as below:

Excel data

Word XP has introduced further complications for those merging from Excel data. In earlier versions of Word connection to the data file was by DDE. Microsoft has replaced this default setting by a new OLEDB connection method. This has benefits and drawback. The benefits are that Word can now connect to client/server databases such as SQL or Oracle without resorting to an intervening interface such as MSQuery.

One downside is that OLEDB provides direct access to the data and thus Word is expected to provide the formatting. You can often work round this by applying formatting to the fields in Word. or you can revert to the earlier DDE connection method.

In order to do this, you need to make a change to one of the Word options settings i.e. Tools > Options > General > Confirm conversion on open.

This provides the opportunity, when connecting to an Excel data file, to select the type of connection, from which you can select DDE, whereupon the connection should behave as it had in earlier versions of Word.

Other data sources If you are not creating a new data source then simply steer to the folder that contains the data file you wish to use or refer back to the mail merge toolbar and click the option to use the Address Book. The available address books, including Outlook will be listed. Note that as this function is closely tied to the e-mail function, address books must be from MAPI compliant applications to be available here. Outlook Express is not a MAPI compliant address book.

Insert the fields Having picked the address book or data file you wish to use, Word will verify the data file, read the field names and insert 'Next Record' fields in all the cells except the first.

You can ignore all the cells, except the first, for that is where we are going to build our label. On the toolbar, click the icon to the left of 'Insert Word Fields'. This will produce a drop-down menu listing all the available data fields in the chosen data file. Select the fields that you want to use and insert them.

Don't worry about placement at this stage, just pick the required fields.

The result will be that in the left illustration below. You can then move the fields around to give you the required spacing and position as in the illustration on the right.

Earlier versions of Word allowed you to pick the fields individually. This option is still available, although by default Microsoft has not added the appropriate tool to the toolbar. If you click the tiny down-arrow at the extreme right hand end of the merge toolbar and select 'add or remove buttons', the missing command is unchecked at the bottom of the list. Check it, select 'customize', then drag it to a position of your choice. Here I have placed it to the right of the new command:

This provides the familiar insertion tool below. Whichever you use, the object is to produce the layout shown in the right hand image above.

If you want to add graphics to the label, then see Graphics on Labels.
If you want serial numbers, then see Numbered Labels.

All that remains, is to reproduce the finished layout in the other cells. The highlighted icon in the toolbar below, will 'propagate' the data into the remaining labels with the correct insertion of the 'Next Record' field at the start of the subsequent labels.

Merge the data

or

Merge to a new document to check the results, or, if confident of those results, merge directly to the printer.

If you print and produce only one page of labels, when you think you should have more, please go back and re-read the instructions, for you have not completed the merge, but have printed the merge layout document.

The merge layout document is now complete and can be saved for next time.

Problems using the mail merge wizard - only one page of labels is printed

All of the foregoing replaces the merge wizard, but if you choose to follow the wizard instead, you may, when merging labels, encounter what appears to be an inability to print all the records. This is because when you arrive at the following task pane, instead of choosing the print option, you print from the Word file menu, resulting in only a single page of labels.

It is essential to continue the wizard's steps to the end.

When merging from Outlook, the Outlook data is converted to a temporary file. This file will no longer be available next time you come to use the merge document. There are two suggested solutions. One is to detach the data source before finally saving, then re-attach it next time; the other is to begin the merge process from within Outlook itself, as that not only provides access to  all the fields, and enables you to be selective about which records to merge, but allows you to save the data set as a file.

 

 

The data shown in the examples is taken from an old sample database and may not reflect the current addresses of the companies shown.

'Initial' field when merging from Outlook Contacts

When merging from Outlook, one field you will not find is a field that contains the initial letter of the contact's forename, which can be very useful when addressing envelopes and more formal letters etc. Sadly it is not yet possible to use only part of a field, however Outlook has four pre-configured user text fields. You can use one of these fields to hold the initial for use in merges. To make this function more convenient to use, the following Outlook macro will extract the initial from the FirstName field and write it to the User4 field. Thus:

Word 2002/3 also make the four user fields available to a merge starting from Word, as opposed to starting the merge from Outlook as above. This enables you not only to use an initial as shown above, but to create a merge using the Categories field, which is not normally available from Word, by copying the content of the categories field to one of the other user fields (here User3) and using that as an alias for the Categories field.

Some of the field names are changed when the merge is started from Word.

To make the user fields available to Word, it is necessary to use the Mail Merge Wizard in Word to select the contacts list rather than the Toolbar command referred to earlier on this page, or the old Mail Merge Helper mentioned later. Both of these functions use an earlier method of connection to the Contacts list - a remnant from Word 97/2000 code that remains in the application.


Thanks to  http://www.slovaktech.com/code_samples.htm for providing the germ of an idea to enable me to produce this code.

Public Sub AddIntialToUser4()
'Create this macro in OUTLOOK!
Dim objOL As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim objContactFolder As Outlook.MAPIFolder
Dim objContact As Outlook.ContactItem
Dim objItems As Outlook.Items
Dim obj As Object
Dim strInitial As String
On Error Resume Next
Set objOL = CreateObject("Outlook.Application")
Set objNS = objOL.GetNamespace("MAPI")
'Set the default contacts folder
Set objContactFolder = objNS.GetDefaultFolder(olFolderContacts)
'or select the folder
'Set objContactFolder = objNS.PickFolder
Set objItems = objContactFolder.Items
For Each obj In objItems
'Test for contact and not distribution list
If obj.Class = olContact Then
Set objContact = obj
With objContact
strInitial = Left(.FirstName, 1)
.User4 = strInitial
'Copy initial to User4
.User3 = .Categories 'Copy the categories field content to User3
.Save
End With
End If
Err.Clear
Next
Set
objOL = Nothing
Set objNS = Nothing
Set obj = Nothing
Set objContactFolder = Nothing
Set objContact = Nothing
End Sub

 

You can still use the old Mail Merge Helper from Word 97/2000

Although you get a new mail merge interface, using task panes, with Word 2002/3, and the previous sections show how to avoid using it, Microsoft has kindly left the old mail merge helper from Word 97/2000 in the application. You will, however, have to add it's command to the toolbar and/or tools menu. You'll find the command in Tools > customize > commands > all commands and it's called MailMergeHelper.

Drag the command to a suitable place on the toolbar:

Click the icon and you have the old familiar mail merge helper:

 

 

Mail merge

Although this page is primarily concerned with label merges, there is no essential difference between the different types of merge available from Word.

Labels were chosen as an example simply because they are the most complex. Word also provides form letter, directory (called catalog in some earlier versions), e-mail, fax (in some circumstances) and envelope merges.