Мне нужно получить адреса электронной почты членов списка рассылки Outlook. Этот список не находится в моей локальной папке, это список всей компании.
У меня есть решение, но оно требует значительного времени, потому что я перебираю все существующие группы (8 400+), чтобы найти нужную группу, прежде чем обращаться с членами этой группы.
Есть ли лучший способ получить членов списка рассылки, если я уже знаю его имя (нет необходимости также получать все остальные списки рассылки более 8 400)?
Вот мой код:
outlookApp = New Outlook.Application
outlookNamespace = _outlookApp.GetNamespace("mapi")
Dim addrLists As Outlook.AddressLists =
outlookApp.Session.AddressLists
Dim root As Outlook.AddressList =
addrLists.OfType(Of Outlook.AddressList) _
.FirstOrDefault(Function(x) x.Name = "All Groups")
Dim entry As Outlook.AddressEntry =
root.AddressEntries.Cast(Of Outlook.AddressEntry) _
.FirstOrDefault(Function(x) x.Name = "<Enter Group Name Here>")
entry.Members
содержит всех членов этого списка.
Я пытался использовать функцию GetAddressEntryFromID
, но получаю только сообщение об ошибке «К сожалению, возникла проблема. Вы можете попробовать еще раз». (перевод с немецкого).