1

現在、Outlookを使用して連絡先Microsoft.Office.Interop.Outlook.SelectNamesDialogを取得していますが、アドレス帳()にはグループメールもあります。Microsoft.Office.Interop.Outlook.SelectNamesDialog

そのメールグループ内のすべてのメールを取得する方法を探していますか?

4

2 に答える 2

0

前の回答は、連絡先フォルダの配布リストでは失敗します。Recipient.AddressEntry.Membersコレクションにアクセスするだけです(nullを処理する準備をしてください)。

于 2012-08-15T17:44:49.757 に答える
0

これは、選択を介して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;
            }
        }
    }
}

アドレスを取得したら、それらをコレクションに簡単に追加できます。

于 2012-08-15T14:27:02.673 に答える