DistributionList в AddressEntry является AddressEntry? - C#

Я пытаюсь извлечь участников из DistributionList. Итак, я написал это,

using Outlook = Microsoft.Office.Interop.Outlook;

Outlook.AddressLists addrLists = null;

foreach(Outlook.AddressList addrList in addrLists)
{
if(addrList.Name == "XXX-XXX-XXX-XXX")
{
Outlook.AddressEntries = addrList.AddressEntries;

foreach(Outlook.AddressEntry addrEntry in AddrEntries)
{
//do something
}
}

Проблема в том, что в этом AddressList - XXX-XXX-XXX-XXX есть некоторые элементы AddressEntry, а также некоторые списки рассылки. Когда я делаю addrEntry.GetExchangeDistributionList(), он возвращает olOutlookContactAddressEntry для AddressEntry и olOutlookDistributionListAddressEntry для списков рассылки. Но тип этих списков рассылки внутри AddressList по-прежнему отображается как AddressEntry. Разве они не должны быть AddressEntries?

Пожалуйста, помогите, я серьезно заблокирован.

То, что я пытаюсь сделать, это получить все отдельные ExchangeUsers из указанного списка рассылки. Может быть, кто-то может предложить мне другой способ сделать это, пожалуйста:)

Фани

1 ответ

Все элементы адресной книги представлены объектом AddressEntry.

Если вам нужен доступ к членам DL, используйте коллекцию AddressEntry.Members - она ​​действительно вернет объект AddressEntires. Будет нулевым, если элемент не DL.

Другие вопросы по тегам