How to: Display in the Select Names Dialog Box the Address Book Corresponding to a Contacts Folder

Office 2013 and later

This example shows how to obtain the address book that corresponds to the default Contacts folder, and then displays the address book in the Select Names dialog box.

All address books in Outlook are represented as a collection by the AddressLists property of the NameSpace object. The code sample uses the GetContactsFolder method of the AddressList object to find the contact folder that corresponds to each address list. Each Outlook folder has an Entry ID. Compare the Entry ID of the default Contacts folder with the Entry ID of a Contacts folder to produce the AddressList that corresponds to the default Contacts folder.

Before displaying the address list corresponding to the default Contacts folder in the Select Names dialog box, the code sample sets it as the value of the InitialAddressList property of the SelectNamesDialog object.

If you use Visual Studio to test this code example, you must first add a reference to the Microsoft Outlook 15.0 Object Library component and specify the Outlook variable when you import the Microsoft.Office.Interop.Outlook namespace. The Imports or using statement must not occur directly before the functions in the code example but must be added before the public Class declaration. The following lines of code show how to do the import and assignment in Visual Basic and C#.

using Outlook = Microsoft.Office.Interop.Outlook;
private void ShowContactsFolderAsInitialAddressList()
    Outlook.AddressLists addrLists;
    Outlook.Folder contactsFolder =
        as Outlook.Folder;
    addrLists = Application.Session.AddressLists;
    foreach (Outlook.AddressList addrList in addrLists)
        Outlook.Folder testFolder =
            addrList.GetContactsFolder() as Outlook.Folder;
        if (testFolder != null)
            // Test to determine if Folder returned
            // by GetContactsFolder has same EntryID
            // as default Contacts folder.
            if (Application.Session.CompareEntryIDs(
                contactsFolder.EntryID, testFolder.EntryID))
                Outlook.SelectNamesDialog snd =
                snd.InitialAddressList = addrList;

Other resources