【发布时间】:2021-01-04 00:35:56
【问题描述】:
在执行回复/回复所有操作时,我必须分别获取第一个收件人的名字和姓氏。
目前,我正在这样做:
#region Extracting Last and First Name
string LName = null;
string FName = null;
if (mailItem.Recipients[1].AddressEntry.GetExchangeUser() == null)
{
FName = FirstName(mailItem.Recipients[1].Name);
LName = LastName(mailItem.Recipients[1].Name);
}
else
{
FName = mailItem.Recipients[1].AddressEntry.GetExchangeUser().FirstName;
LName = mailItem.Recipients[1].AddressEntry.GetExchangeUser().LastName;
}
#endregion
[注意:在上述区域中,FirstName(string name) 和 LastName(string name) 方法用空格分割名称并分别返回第一个和最后一个元素]
但是,对于某些收件人,它会返回整个电子邮件地址。 :(
在探索 Outlook 之后,我发现上面的代码正在获取“显示为”字段(在联系人窗口内,请参见下图),并对其执行操作,这不是提取名字和姓氏的正确方法。
在“检查全名”窗口中,我正确分离了所有详细信息(参见下图),这是实际要求。
那么,如何从“检查全名”窗口中获取“First”和“Last”的值?还是我们有更好的方法来做到这一点?
【问题讨论】:
标签: c# outlook vsto outlook-addin add-in