2013-11-25 8 views
2

Я пытаюсь извлечь членов из списка DistributionList. Итак, я написал это,DistributionList в AddressEntry является AddressEntry? - C#

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 из указанного списка рассылки. Может быть, кто-то может предложить мне какой-нибудь другой способ сделать это, пожалуйста :)

Фани

+0

Можете ли вы уточнить? Какое конкретное свойство возвращает неожиданное значение? Почему GetExchangeDistributionList? Он не удастся из списков рассылки, созданных в папке «Контакты». –

+0

привет Дмитрий, спасибо за ответ. В другом списке рассылки есть списки рассылки. Список рассылки должен быть признан как AddressList, но внутри его вводят как AddressEntry, который не позволяет мне войти в него. –

ответ

3

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

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

+0

привет, Дмитрий, я использую библиотеку объектов Microsoft Outlook 14.0 для Outlook 2010. Я думаю, что AddressEntry.Members реализован в Office 2013, но его нет в библиотеке, которую я использую. Office 2007 - http://msdn.microsoft.com/en-us/library/bb176626(v=office.12).aspx Офис 2013 - http://msdn.microsoft.com/en-us/library /microsoft.office.interop.outlook.addressentry_members.aspx Действительно ценю вашу помощь :), можете ли вы рассказать мне об этом в 2010 году. Внешний вид –

+0

Свойство AddressEntry.Members присутствовало с Outlook 97. Оно может быть скрыто и, следовательно, не показано Intellisense. –