|
Mail merge with Office XP & 2003 |
|
| |
|
The great Christmas card debacle of 2002 demonstrated to many people
what a dog's breakfast Microsoft has 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' 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. |
| Note: |
This page is
also available in
Adobe Acrobat
pdf file format - for ease of printing |
| Note: |
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. |
|
 |
| Note: |
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. |
|
 |
|
Note:
|
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. |
|
 |
|
Note: |
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. |
| Note |
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. |
|
 |
|
Note: |
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.
|
|
Note:
Note: |
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: |
|
 |