【问题标题】:Retrieve Contact Information such as Employee Id from Open Outlook Properties using VBA使用 VBA 从 Open Outlook 属性中检索联系人信息,例如员工 ID
【发布时间】:2020-11-10 23:42:56
【问题描述】:

当我们右键单击电子邮件地址,然后单击打开 Outlook 属性时,如图所示打开了一张联系人卡片,我想通过 VBA 从员工信息选项卡中提取员工 ID 和其他详细信息,我可以提取名字使用以下代码等。

Set OutRecipients = OutMail.Recipients.Add(EmailAddress)
OutRecipients.Resolve
Name = OutRecipients.AddressEntry.GetExchangeUser.Name
FirstName = OutRecipients.AddressEntry.GetExchangeUser.FirstName
LastName = OutRecipients.AddressEntry.GetExchangeUser.LastName
Alias = OutRecipients.AddressEntry.GetExchangeUser.Alias
JobTitle = OutRecipients.AddressEntry.GetExchangeUser.JobTitle
Department = OutRecipients.AddressEntry.GetExchangeUser.Department
PrimarySmtpAddress = OutRecipients.AddressEntry.GetExchangeUser.PrimarySmtpAddress

Output_sh.Cells(lCnt, 1) = Name
Output_sh.Cells(lCnt, 2) = FirstName
Output_sh.Cells(lCnt, 3) = LastName
Output_sh.Cells(lCnt, 4) = Alias
Output_sh.Cells(lCnt, 5) = JobTitle
Output_sh.Cells(lCnt, 6) = Department
Output_sh.Cells(lCnt, 7) = PrimarySmtpAddress

Open Outlook properties

Employee info

【问题讨论】:

    标签: vba outlook contacts outlook-2010


    【解决方案1】:

    如果AddressEntry 属于诸如全局地址列表 (GAL) 之类的 Exchange AddressList 对象并且对应于 Exchange 用户,则 AddressEntry.GetExchangeUser 方法返回一个代表 AddressEntry 的 ExchangeUser 对象。

    如果您查看 ExchangeUser 属性,您可能会找到所有这些属性。

    ExchangeUser 派生自 AddressEntry 对象,并且在调用者对 AddressEntry 对象执行查询接口时返回而不是 AddressEntry。

    此对象提供对适用于 Exchange 用户的属性的一流访问权限,例如 FirstName、JobTitle、LastName 和 OfficeLocation。您还可以通过PropertyAccessor 对象访问对象模型中未公开的其他特定于Exchange 用户的属性。请注意,一些显式的内置属性是读写属性。设置这些属性要求代码在适当的 Exchange 管理员帐户下运行;如果没有足够的权限,调用ExchangeUser.Update 方法将导致“权限被拒绝”错误。您可以使用MFCMAPI 或OutlooSpy 实用程序来探索低级属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多