Printing Contact Labels from Outlook/Word -- three approaches.

For about three months, this page contained an article about the frustrations of addressing an envelope or label from within the Microsoft Outlook Contacts folder.

Now, we have four distinct approaches to suggest. Tips Index

Additional Notes

1.  Use the Letter Wizard


You can create labels and envelopes easily enough from Outlook if you have Word 97, Office Assistant, and the letter wizard installed.  It's a little slow, and there are a few extra clicks and caveats.

Simply select a contact, then click "Actions - New Letter to Contact."  This fires up Word and loads the letter wizard.  If you're not writing a letter, just click "Finish."  An Assistant window comes up and invites you to print an envelope or label.  The window is not modal, so you have an opportunity to switch printers before you proceed.  (A printer-switching menu button is still a good idea; see below.)  Click the "Make Mailing Label" or "Make an Envelope" button and you're in.

Outlook and Word will not use your label format; they will simply pick up the Name and Address fields in Contacts.  So if you want the Contact's Company Name or Job Title to appear, just repeat them in the Address field.  The Letter Wizard does handle international addresses correctly, placing the Postal Code in the appropriate position for each country.

Annoying Behavior 1: Outlook fires up a new copy of Word for each invocation of "New Letter to Contact".  This is really a flaw in Outlook irrespective of envelopes and labels.  So remember to exit Word immediately after you print each label; these are two clicks you would have had to click anyway, and you'll avoid the conflicts that come with running multiple copies of Word.  No speed records will be set here -- but you already knew that.

Annoying Behavior 2: If you use a different printer for labels than for other documents, you cannot specify so globally, or even at the time you attempt to print the label. You must use "File-Print," change your default printer, remember to click "Close" rather than "OK" (otherwise you print -- on label stock -- a blank page or a copy of whatever document happens to be open). Then you print the label, then -- if you remember -- return to "File-Print" to restore your default printer for documents.

Solve this problem by: creating keystroke macros to select between a label printer and a document printer.  Make them available as buttons on the formatting toolbar.

We use a CoStar Labelwriter on COM3 as our label printer, an HP LaserJet 4P for most documents. In Word, click "Tools-Macro-Record", name your macro "ToLabelPrt", click "File-Print", switch printers, click "Close". Stop recording. Then click "Tools-Customize-Commands-Macros". Find "ToLabelPrt", drag the icon to the formatting toolbar. Then, with the "Customize" dialog-box still open, right click on the new button to change its look. (We use the button editor to draw the characters "CO".) Same procedure and an adjacent button for "ToDocPrt." While you're at it, drag the address book icon from "Customize-Commands-Insert" to the same formatting toolbar if you'd like to insert your contacts' addresses easily into letters and such.

2.  Use Outlook Alladins from Manawatu Software Solutions 


Those who had difficulty with early versions of Outlook Alladins from Manawatu Software Solutions should know that the software is now seamlessly

It's an excellent choice to solve this problem.

Note that you pay $35 NZ, (New Zealand Dollars).  If

For those inclined to experiment with component scripts, here's one more approach, priced at $0 NZ,  which uses capabilities you probably already have on your system.

3.  Use a VB Script and the Windows Scripting Host


Application development in the future will depend increasingly upon scripted components, upon programs that operate equally well under the control of other programs as under their own user interfaces.  Many people are familiar with VBScript within Internet Explorer, but the Windows Scripting Host is something new; it comes included in Windows 98, and it treats any file with a .VBS extension as a ready-to-run script.  If you're not yet on '98, the Scripting Host is .   This is technology we'll be using for years; if nothing else, it's the replacement for traditional DOS Batch files; it uses object models to leverage the power of applications that are already on the desktop.

The following script requires that you have a contact open in Outlook (open, not merely selected; that's a disadvantage as against Alladins) and that you have Word 97 installed. Try the script at your own risk.  Study it,   modify as necessary in Notepad, then save it as "ContactLabel.VBS".   Create a shortcut to it someplace convenient, and you'll be able to print labels directly from Windows, if not directly from Outlook.

Script for the Windows Scripting Host: contactlabel.txt

(presented as a text file so you can view it from your browser.  Save it and run it as a .VBS)

By the way, I did eventually figure out how to identify programmatically a contact not open but selected (highlighted) within the Contacts folder.   Exploiting the method here would probably have required a VBA procedure in Word to augment the VBScript procedure under WSH.  Clearer and simpler to share with the world this single Outlook-centric module.  Hope you find it useful!

Additional Notes


Ken Hopkins writes: "I've written a utility your readers may be interested in knowing about. It addresses ".  (We haven't examined this utility ourselves, just passing the word along.)

Also consider: Microsoft has announced that Outlook 2000, to be released in 1999, will have a VBA interpreter system similar to that which is found in the rest of the Office application suite.  That means that the remaining "brick walls" in the Outlook application will likely be remediable by inexpensive and widely available macro code.  Stay tuned. - JJS

The definitive source for objective information about .

for authoritative intelligence about museums, lodging, and culture in America's Home Town, Cooperstown, NY.