使用SelectNamesDialog获取联系人组的成员

时间:2015-06-21 06:16:01

标签: c# .net outlook outlook-addin

我正在尝试使用SelectNamesDialog在我的Outlook加载项中获取联系人详细信息。如果用户在对话框中选择单个联系人项目,我可以使用SelectNamesDialog获取每个联系人项目的详细信息。收件人财产。我的问题是,如果用户选择联系人组而不是单个联系人,那么我就可以获得其成员。我能够区分它是单个用户还是使用此联系人组:

Outlook.SelectNamesDialog NamesDialog = Globals.ThisAddIn.Application.Session.GetSelectNamesDialog();
NamesDialog.NumberOfRecipientSelectors = Outlook.OlRecipientSelectors.olShowTo;
NamesDialog.ForceResolution = true;

NamesDialog.Display();
foreach (Outlook.Recipient recipient in NamesDialog.Recipients)
{
    if (recipient.DisplayType == Outlook.OlDisplayType.olUser)
    {

    }
    else if (recipient.DisplayType == Outlook.OlDisplayType.olPrivateDistList)
    {
    }
}

但如果是联系人组(DistList),我无法获取联系人的详细信息。

如果是NamesDialog,请你给我一些提示如何获得会员的提示。收件人是联系人组而不是单个用户。

非常感谢。

1 个答案:

答案 0 :(得分:0)

            Outlook.ExchangeDistributionList exchDL =  addrEntry.GetExchangeDistributionList();
            Outlook.AddressEntries addrEntries = exchDL.GetExchangeDistributionListMembers();
            if (addrEntries != null)
                foreach (Outlook.AddressEntry exchDLMember in addrEntries)
                {
                    Debug.WriteLine(exchDLMember.Name);
                }