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

本文关键字:成员 联系人 SelectNamesDialog 获取 使用 | 更新日期: 2023-09-27 17:57:26

我正试图使用SelectNamesDialog在outlook加载项中获取联系人详细信息。如果用户在对话框中选择单个联系人项目,我可以使用SelectNamesDialog获取每个联系人项目的详细信息。Recipients属性。我的问题是,如果用户选择了一个联系人组而不是单个联系人,那么我就可以获取其成员。我能够区分是单个用户还是使用以下联系人组:

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,你能给我一些提示吗。收件人是一个联系人组,而不是单个用户。

非常感谢。

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

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