【问题标题】:Outlook VBA - Function to retrieve Display Name of an email addressOutlook VBA - 检索电子邮件地址的显示名称的功能
【发布时间】:2020-04-22 20:05:23
【问题描述】:

抱歉,因为我没有任何代码,我只是不知道如何开始。

假设我有一个电子邮件地址。我想检查此电子邮件地址是否属于任何联系人文件夹或 Outlook 的任何通讯录中的任何联系人。如果是,我想检索电子邮件地址的关联显示名称。我需要足够快的功能来检查一长串电子邮件地址。

希望有人可以提供帮助。谢谢。

【问题讨论】:

    标签: vba outlook


    【解决方案1】:

    尝试调用Namespace.CreateRecipient/Recipient.Resolve,然后读取Recipient.Name属性。请注意,它不是唯一的。

    如果您需要解析多个条目,请创建一条临时消息,将值添加到 MailItem.Recipients 集合中,调用 Recipients.ResolveAll

    【讨论】:

    • 我使用下面的代码,但它没有按预期工作。 Sub ResolveName() Dim myNamespace As Outlook.NameSpace Dim myRecipient As Outlook.Recipient Set myNamespace = Application.GetNamespace("MAPI") ' VIVI PPIC <asst_ppic2@guardian.co.id> Set myRecipient = myNamespace.CreateRecipient("asst_ppic2@guardian.co.id") myRecipient.Resolve If myRecipient.Resolved Then Debug.Print myRecipient.Name End If End Sub 我想检索“VIVI PPIC”,但它返回“asst_ppic2@guardian.co.id” 在我的联系人中,我设置了联系人的全名:VIVI PPIC 并显示为:VIVI PPIC。
    • 是的,它确实返回 True
    • Recipient.AddressEntry.GetContact 返回一个有效的 ContactItem 对象吗?
    • 是的,确实如此。谢谢@Dmitry
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 2017-10-09
    相关资源
    最近更新 更多