Выполнение перечисления записей в глобальном списке адресов
В этом примере показано, как выполнить перечисление первых 100 основных SMTP-адресов в глобальном списке адресов.
Пример
Примечание.
Приведенный ниже пример кода взят из книги Programming Applications for Microsoft Office Outlook 2007 ("Программирование приложений для Microsoft Office Outlook 2007").
В следующем примере получение кода адреса SMTP для объекта AddressEntry выполняется путем приведения его к объекту ExchangeUser или ExchangeDistributionList при вызове метода GetExchangeUser() или GetExchangeDistributionList() . Если объект AddressEntry представляет пользователя Exchange, метод EnumerateGAL возвращает объект ExchangeUser, через который можно получить доступ к свойствам объекта AddressEntry. Для доступа к этим свойствам используйте свойства объекта ExchangeUser, например JobTitle, Department, Alias, BusinessTelephoneNumber или PrimarySmtpAddress.
Если вы используете Visual Studio для тестирования этого примера кода, сначала добавьте ссылку на компонент Microsoft Outlook 15.0 Object Library и задайте переменную Outlook при импорте пространства имен Microsoft.Office.Interop.Outlook. Инструкция using не должна находиться непосредственно перед функциями в примере кода, но ее нужно добавить перед объявлением общедоступного класса. В следующей строке кода показано, как выполнить импорт и назначение в C#.
using Outlook = Microsoft.Office.Interop.Outlook;
private void EnumerateGAL()
{
Outlook.AddressList gal =
Application.Session.GetGlobalAddressList();
if (gal != null)
{
for (int i = 1;
i <= Math.Min(100, gal.AddressEntries.Count - 1); i++)
{
Outlook.AddressEntry addrEntry =
gal.AddressEntries[i];
if (addrEntry.AddressEntryUserType ==
Outlook.OlAddressEntryUserType.
olExchangeUserAddressEntry
|| addrEntry.AddressEntryUserType ==
Outlook.OlAddressEntryUserType.
olExchangeRemoteUserAddressEntry)
{
Outlook.ExchangeUser exchUser =
addrEntry.GetExchangeUser();
Debug.WriteLine(exchUser.Name + " "
+ exchUser.PrimarySmtpAddress);
}
if (addrEntry.AddressEntryUserType ==
Outlook.OlAddressEntryUserType.
olExchangeDistributionListAddressEntry)
{
Outlook.ExchangeDistributionList exchDL =
addrEntry.GetExchangeDistributionList();
Debug.WriteLine(exchDL.Name + " "
+ exchDL.PrimarySmtpAddress);
}
}
}
}