Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.
With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company.
Learn more about Allen...
Doug recently wrote about a problem he was having creating a dialog box that would allow users to select from a list of Outlook contacts. Doug wanted users to pick a contact, and then create a business document using the single contact name.
There are a couple of ways you can approach this problem. The first is to simply add to the toolbar or the Insert menu an Address Book tool that users can utilize to select contacts. You can add this option by following these steps:
Figure 1. The Commands tab of the Customize dialog box.
Now you should be able to choose the command, which displays the Select Name dialog box and allows you to select a contact. If your contacts are not displayed, then you may not have the Address Book option installed for Word. If this is the case, you may need to run the Office or Word Setup program again and make sure that it is installed.
Because of the convoluted way in which address books are handled in Office, you may want to do a bit more research on this topic. (For instance, address books could come from Outlook contacts, from Outlook Express address book, from an Exchange server, etc. The source used for the address book can affect exactly how you display and select contacts in Word.) For more information, do a search in the Microsoft Knowledge Base for "Contact List" or "Address Book."
If you are automating the creation of your documents, and you want your macros to display a list of contacts from which the user can choose, then you are getting into some fairly advanced areas. Assuming that the user running the macros has Outlook installed on their system, you can access the Outlook object model from within a Word macro and pull a list of the contacts from their Contact list. The following Word macro shows how this can be done:
Sub ListContacts() Dim oOL As Object Dim oNS As Object Dim oContacts As Object Dim oContactItem As Object Set oOL = CreateObject("Outlook.Application") Set oNS = oOL.GetNameSpace("MAPI") Set oContacts = oNS.Folders(1).Folders("Contacts") For Each oContactItem In oContacts.Items Selection.TypeText oContactItem & vbCrLf Next Set oContactItem = Nothing Set oContacts = Nothing Set oNS = Nothing Set oOL = Nothing End Sub
This macro adds the contact names to the current document, but it could just as easily compile those contact names and add them to a drop-down list in a custom dialog box. The user could then select a name, and that name could be used to extract additional information from the Outlook contact item (oContactItem in this macro). What sort of additional information can be extracted? As anyone who has used Outlook knows, you can store tons of information on any given contact. In fact, the VBA help file for Outlook lists over 140 different properties applicable to contact items.
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1554) applies to Microsoft Word 97, 2000, 2002, and 2003.
Learning Made Easy! Quickly teach yourself how to format, publish, and share your content using Word 2013. With Step by Step, you set the pace, building and practicing the skills you need, just when you need them! Check out Microsoft Word 2013 Step by Step today!