現在、Outlookを使用して連絡先Microsoft.Office.Interop.Outlook.SelectNamesDialog
を取得していますが、アドレス帳()にはグループメールもあります。Microsoft.Office.Interop.Outlook.SelectNamesDialog
そのメールグループ内のすべてのメールを取得する方法を探していますか?
前の回答は、連絡先フォルダの配布リストでは失敗します。Recipient.AddressEntry.Membersコレクションにアクセスするだけです(nullを処理する準備をしてください)。
これは、選択を介してExchange配布リストからメンバーを取得する方法の例です。SelectNamesDialog
Outlook.SelectNamesDialog names = Globals.ThisAddIn.Application.Session.GetSelectNamesDialog();
names.SetDefaultDisplayMode(Outlook.OlDefaultSelectNamesDisplayMode.olDefaultMembers);
names.ForceResolution = true;
names.Caption = "Please selection something";
if (names.Display())
{
Outlook.Recipients recipients = names.Recipients;
foreach (Outlook.Recipient recipient in recipients)
{
Outlook.AddressEntry entry = recipient.AddressEntry;
if (entry.AddressEntryUserType == Outlook.OlAddressEntryUserType.olExchangeDistributionListAddressEntry)
{
Outlook.ExchangeDistributionList list = entry.GetExchangeDistributionList();
Outlook.AddressEntries members = list.GetExchangeDistributionListMembers();
foreach (Outlook.AddressEntry member in members)
{
Outlook.ExchangeUser user = member.GetExchangeUser();
string address = user.PrimarySmtpAddress;
}
}
}
}
アドレスを取得したら、それらをコレクションに簡単に追加できます。