Поделиться через


Display Names from the Address Book

В этом разделе описывается адресная книга и объясняется, как программным образом отображать имена из адресной книги в диалоговом окне Адресная книга Outlook.

Outlook поддерживает иерархию адресных книг для сеанса. Чтобы поставщик транспорта доставлял сообщение, получатель должен иметь адресную запись в одной из адресных книг в этой иерархии.

Адресная книга содержит один или несколько списков адресов. Каждый список адресов состоит из пользователей, списков рассылки или других типов записей адресов. Пример списка адресов — глобальный список адресов Exchange. В пользовательском интерфейсе Outlook можно открыть диалоговое окно Адресная книга, чтобы просмотреть и выбрать имена в списке адресов. При создании почтового элемента или элемента встречи или при назначении элемента задачи можно использовать адресную книгу для выбора получателей.

Адресная книга Outlook — это список адресов или набор списков адресов, создаваемых Outlook автоматически. По умолчанию он содержит один список адресов для контактов в папке "Контакты", у которых есть по крайней мере один адрес электронной почты или номер факса. При создании других папок в модуле "Контакты" каждая папка по умолчанию также становится списком адресов в адресной книге Outlook. На вкладке Адресная книга Outlook в диалоговом окне Свойства папки можно выбрать или отключить флажок Показать эту папку в качестве адресной книги электронной почты.

С точки зрения программирования Outlook поддерживает коллекцию Списков адресов для текущего сеанса. Каждый элемент AddressList состоит из коллекции AddressEntries. Существуют различные типы списков адресов (перечисление в OlAddressListType) и различные типы записей адресов (перечисление olAddressEntryUserType). При добавлении папки в модуль Контактов можно использовать Folder.ShowAsOutlookAB , чтобы указать, будет ли эта папка отображаться в качестве списка адресов в адресной книге Outlook.

Объект Recipient связан с объектом AddressEntry , заданным свойством Recipient.Address . Вы также можете использовать свойство AddressEntry.AddressEntryUserType , чтобы определить тип получателя, например, является ли получатель элементом contact, пользователем Exchange или списком рассылки Exchange.

Объект SelectNamesDialog позволяет отображать имена из списка адресов в диалоговом окне, похожем на диалоговое окно Выбор имен в пользовательском интерфейсе Outlook. На следующем рисунке показан пример диалогового окна Выбор имен , в котором отображается папка Контакты.

Диалоговое окно позволяет пользователю выбирать записи из одного или нескольких списков адресов в адресной книге и возвращает выбранных получателей в свойстве SelectNamesDialog.Recipients . С помощью свойств и методов SelectNamesDialog можно управлять следующими аспектами диалогового окна:

  • Начальный список адресов, отображаемый в диалоговом окне, и указывает, должен ли отображаться только этот список адресов.

  • Количество селекторов получателей, например отображение всех трех меток : Кому, Копия и СК.

  • Строки, представляющие метки заголовка, Кому, Копия и СК, если применимо. Длинные заголовки и метки будут усечены без изменения ширины диалогового окна.

  • Может ли пользователь одновременно выбрать одну или несколько записей адреса.

  • Следует ли разрешать имена получателей перед закрытием диалогового окна.

  • Что делать, если не все получатели разрешены.

Чтобы отобразить диалоговое окно с именами из списка адресов, выполните следующие действия:

  1. Используйте метод GetSelectNamesDialog текущего сеанса (указано в Application.Session), чтобы получить экземпляр объекта SelectNamesDialog для текущего сеанса.

  2. Используйте свойство AddressLists текущего сеанса, чтобы получить коллекцию AddressLists для текущего сеанса.

  3. По умолчанию диалоговое окно инициализируется со списком адресов, для которого параметр AddressList.IsInitialAddressList имеет значение True. При необходимости можно использовать SelectNamesDialog.InitialAddressList , чтобы инициализировать диалоговое окно с другим Элементом AddressList из коллекции AddressLists на шаге 2.

  4. Используйте selectNamesDialog.Display для отображения диалогового окна. Этот метод возвращает значение True или False в зависимости от SelectNamesDialog.ForceResolution и ответа пользователя:

    • Этот метод возвращает значение True , если задан параметр SelectNamesDialog.ForceResolution , разрешены все выбранные имена и пользователь нажимает кнопку ОК.
  • Если параметр SelectNamesDialog.ForceResolution задан, возвращает значение False, но не все получатели разрешены.

  • Если параметр SelectNamesDialog.ForceResolution не задан и пользователь нажимает кнопку ОК, возвращает значение False.

  • Если пользователь нажимает кнопку Отмена или значок Закрыть, возвращается значение False.

  1. Если функция SelectNamesDialog.Display возвращает значение True, получите выбранные записи адресов с помощью команды SelectNamesDialog.Recipients.

См. также

How to: Identify the Global Address List or a Set of Address Lists with a Store

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.