Inserting Addresses into Word Documents

Last reviewed on September 11, 2014   —  20 comments

One of the advantages to using Microsoft Exchange or Microsoft Outlook is the ability to use information from the Address Book in Microsoft Word documents. Exactly how to do it, though, isn’t obvious. The key is an AutoText entry called AddressLayout in English (see Non-English Word for the correct name in other languages). This article shows you how to change this entry and how to add an Insert Address button to the Word toolbar. See More Information at the end of this article for alternative methods of putting addresses into Word documents.

Adding an Insert Address button | Changing the Address Layout
Non-English Word | Notes | More Information

Adding an Insert Address button

Word 7.0 includes an Insert Address button on its Standard toolbar, but newer versions of Word don’t add the button to the Toolbar or ribbon. If you’re going to add address information to documents frequently, having a button available will make it easier. Here’s how to add it to a toolbar:

  1. In Word, choose View | Toolbars | Customize, then switch to the Commands tab..
  2. Under Categories, choose Insert.
  3. Near the bottom of the Commands list, you’ll find Address Book. Drag that command to any toolbar currently displayed in Word.

The Insert Address button makes it easy to add an address to any document.

Changing the Address Layout

Word includes a default AddressLayout entry that you can’t see or edit directly. Test it by using the Insert Address button to insert an address from your Address Book.

To add, remove or rearrange fields, create a new layout in a Word document, then save it as a new AutoText entry named AddressLayout. (If you have a non-English version of Word, see Non-English Word below.)

The following table lists each field you can use, indicates whether it applies to addresses from the Personal Address Book (PAB) or Outlook Contacts (OAB) and lists the corresponding field name in the OAB and PAB.

Fields marked with an asterisk (*) may work only in Word 2000.

AddressLayout FieldContacts (OAB) or
Personal Address Book (PAB)
Field Name
OABPAB
Name Fields
<PR_DISPLAY_NAME>Subject (by default, First Last Middle Suffix) (OAB)
First Last or Last, First (PAB, depending on setting)
XX
<PR_GIVEN_NAME>FirstXX
<PR_SURNAME>LastXX
<PR_TITLE>Job Title (OAB)
Title (PAB)
XX
<PR_DISPLAY_NAME_PREFIX>*Title (OAB)X?
Company Fields
<PR_COMPANY_NAME>CompanyXX
<PR_DEPARTMENT_NAME>DepartmentXX
<PR_OFFICE_LOCATION>Office Location (OAB)
Office (PAB)
XX
<PR_ASSISTANT>AssistantXX
Address Fields
<PR_STREET_ADDRESS>StreetXX
<PR_LOCALITY>CityXX
<PR_STATE_OR_PROVINCE>State/ProvinceXX
<PR_POSTAL_CODE>ZIP/Postal codeXX
<PR_COUNTRY>CountryXX
<PR_POSTAL_ADDRESS>Full address, including country only if it’s not your own
Phone Fields
<PR_OFFICE_TELEPHONE_NUMBER>BusinessXX
<PR_OFFICE2_TELEPHONE_NUMBER>Business 2XX
<PR_PRIMARY_TELEPHONE_NUMBER>Phone number (on Business tab)X
<PR_BUSINESS_FAX_NUMBER>Business FaxX
<PR_PRIMARY_FAX_NUMBER>FaxX
<PR_ASSISTANT_TELEPHONE_NUMBER>Assistant (on Phone pick list) (OAB)
Assistant (on Phone Numbers tab) (PAB)
XX
<PR_BEEPER_TELEPHONE_NUMBER>PagerXX
<PR_CAR_TELEPHONE_NUMBER>CarX
<PR_CELLULAR_TELEPHONE_NUMBER>MobileXX
<PR_RADIO_TELEPHONE_NUMBER>RadioX
<PR_HOME_TELEPHONE_NUMBER>HomeXX
<PR_HOME2_TELEPHONE_NUMBER>Home 2XX
<PR_HOME_FAX_NUMBER>Home FaxX
<PR_OTHER_TELEPHONE_NUMBER>OtherX
Other Fields
<PR_EMAIL_ADDRESS>E-mail AddressXX
<PR_ADDRTYPE>E-mail TypeXX
<PR_COMMENT>NotesX

An example is the easiest way to show how to create a new layout. If you want to add the job title and company name to the layout and remove the country name, type (or copy and paste) this into Word, with a carriage return after each line:

<PR_GIVEN_NAME> <PR_SURNAME> <PR_TITLE> <PR_COMPANY_NAME> <PR_STREET_ADDRESS> <PR_LOCALITY>, <PR_STATE_OR_PROVINCE> <PR_POSTAL_CODE>

Make sure you include spaces and punctuation where you want them to appear in the address. Now, select the entire layout, and save it as an AutoText entry with the name “AddressLayout,” taking care to use exactly that spelling and capitalization.

To save an AutoText entry in Word 7.0, choose Edit | AutoText, enter the Name as “AddressLayout,” then click Add.

To save an AutoText entry in Word 97 or Word 2000/2002/2003, choose Insert | AutoText | New, enter “AddressLayout” as the name, then click OK.

You can now use the Insert Address button to test your new AddressLayout. The above example should give you an address that looks like this:

Bill GatesCEOMicrosoft CorporationOne Microsoft WayRedmond, WA 98052

You might notice, though, that if a person has no title, you get a blank line. To suppress blank lines and make use of different fields that display the same data, depending on whether the source is a PAB or OAB entry, try this variation from the Office 97 Resource Kit, omitting the carriage returns:

{{<PR_GIVEN_NAME> <PR_SURNAME> | <PR_DISPLAY_NAME>}\r} {{<PR_STREET_ADDRESS>\r}{{<PR_LOCALITY>} {, <PR_STATE_OR_PROVINCE> <PR_POSTAL_CODE>}\r} {<PR_COUNTRY>\r}| <PR_POSTAL_ADDRESS>\r}

The curly braces ( {} ) are used to ensure that a particular line does not print if it is empty, for example, if the person does not have a title. The vertical bar ( | ) means OR. And the \r switch substitutes for the carriage return. (Omit the \r in Word 2000 and just put a carriage return or soft return after each line; the \r switch doesn’t work in Word 2000.) You are limited to a total of 12 fields, according to WD2000: How to Modify the Layout of an Address Book Entry.

For Office XP, this turns out to be a pretty good AddressLayout entry to include both company and country. I suspect it might also work well in Office 2000. You should put a carriage return or soft return at the end of each line shown here:

{{<PR_GIVEN_NAME> <PR_SURNAME> | <PR_DISPLAY_NAME>} }{<PR_COMPANY_NAME>} {{<PR_STREET_ADDRESS> }{{<PR_LOCALITY>}{, <PR_STATE_OR_PROVINCE> <PR_POSTAL_CODE>}} {<PR_COUNTRY> }| <PR_POSTAL_ADDRESS>}

If the address doesn’t work the way you think it should, check the field names for spelling mistakes and make sure that you actually have information entered in the corresponding Contacts or PAB fields. Also, if the addresses were imported, you may need to follow the instructions in MSKB article Address Displays Incorrectly on Imported Contacts.

Another approach is to simply make sure that the Address field contains whatever you want printed after the name, repeating the company name or other information as needed.

Non-English Word

If you are using a non-English version of Word, AddressLayout may not be the correct name for the AutoText entry that you need to modify. If you discover what the correct name is for a particular language, please let us know and we’ll add it to this list:

  • Dutch — AdresIndeling
  • French — MiseEnPageAdresse
  • German — Adreßlayout or Adresslayout
  • Italian — IndirizzoLayout
  • Nordic languages — AdresseLayout
  • Spanish — AddressLayout
  • Turkish – AdresD’zeni

Notes

If you want to write a Word macro to insert addresses, use the GetAddress method. This also gives you the option of specifying an address layout, rather than using the AddressLayout entry from AutoText. There’s a good example in the VBA help file in Word.

Additional notes on the fields:

  • In an Outlook contact, if you edit the Subject field, subsequent changes to any name field will cause the Subject field also to change. If you are using the Reorder Contacts form to change the way addresses are displayed in the Outlook Address Book, you should use the <PR_GIVEN_NAME> and <PR_SURNAME> fields in the AddressLayout entry, rather than <PR_DISPLAY_NAME>. Also, <PR_DISPLAY_NAME> may show the (E-mail) suffix for contacts from the Outlook Address Book.
  • For Outlook Contacts, the <PR_EMAIL_ADDRESS> and <PR_ADDRTYPE> fields work with the E-mail field only. There are no corresponding fields for the E-mail 2 and E-mail 3 addresses.
  • In Outlook, the Country field is often filled in by default with a value determined by your regional settings (Control Panel | Regional Settings). Click Address on the Contacts record to check the value placed in Country field.

Written by

Diane Poremsky
A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

Please post long or more complicated questions at Outlookforums.

20 responses to “Inserting Addresses into Word Documents”

  1. Richard Barrett

    Is it possible to get the Middle Name and the Suffix? Both can be added in Outlook Contacts, but I don't see a way to specifically retrieve those fields.

    Thanks.

  2. Richard Barrett

    Thanks for your reply. I'm using Office 2010. I'm using the GetAddress method in Word VBA to select an Outlook Contact. I just tried PR_MIDDLE and PR_SUFFIX, and neither one returns the expected value. Others (PR_GIVEN_NAME, PR_POSTAL_ADDRESS, etc.) function as expected. The two that don't respond are PR_MIDDLE (or PR_MIDDLE_NAME) and PR_SUFFIX.

    Also, is it possible to get the entry ID from GetAddress: PR_ENTRY_ID? I'm not having luck with that, either.

  3. Ulf Nilsson

    We have Exchange2010 and Office 2010/2013.
    does not contain the email address.
    sCode = ""
    sTemp = Application.GetAddress("", sCode, False, 1, , , True, True)
    Any suggestion on how to get the email address?

  4. Ulf Nilsson

    Background to my question:
    When a user opens a template in Word a form opens where most information fills in automatic. If the user wants to add a co-writer, he clicks on a button which opens the Outlook addressbook by using the script.
    How can I get the username of the person selected via the script?

  5. Ulf Nilsson

    When the form is initialized, I use environ("username")and get the information from Active Directory to add the userinformation. When the user click on Add more persons, the GetAddress-code above is used.
    If the person select Charlie Chaplin in the Address book, I want to know Charlie Chaplin's email address.
    I get allt the other information, like name, telephone number, department and office, by using the AddressLayout Field. But not the email address.

  6. Ulf Nilsson

    Hi again,
    Just realized that I did not submitted the whole code. It shoud be:
    sCode = " $$$"
    If I add the ""-field, I do not get the email address.

  7. Ulf Nilsson

    Hi,
    Your code is correct one. Something strange happens when I paste my code to this page... Strange.
    The result with the pr_email_address-code is the legacyExchangeDN-code. In previous versions of Exchange, it ends with the username.
    With the Exchange 2012 it adds (FYDIBOHF23SPDLT) (which is equal to Exchange12Rocks - F=E; Y=X, D=C, and so on) and removes the username and add something else.
    In previous versions, I used the username in the same way as Environ("username"), but I cannot do it now with the new version of Exchange.

  8. Ulf Nilsson

    Your code is correct, but I do not get the email address. I only get what is called legacyExchangeDN. In older versions that string contained the username (which I uesed in simular matter as Environ("username")). But in Exchange 2012, it doesn't.

  9. Ulf Nilsson

    I am looking for the SMTP address, that is the email address.

  10. Ulf Nilsson

    Thanks!
    I am really looking forward to it!

  11. Ulf Nilsson

    Hi,
    How is it going?

  12. Ulf Nilsson

    Hi,
    I found a solution: One can get the telephone number, PR_OFFICE_TELEPHONE_NUMBER, and use this unique item to locate the user in the Active Directory and get the mail address through this.

Leave a Reply

If the Post Coment button disappears, press your Tab key.