使用VBA从"打开Outlook属性"检索联系人信息(如员工Id)



每当我们右键单击电子邮件地址,然后单击打开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

打开Outlook属性

员工信息

AddressEntry.GetExchangeUser方法返回一个ExchangeUser对象,如果AddressEntry属于Exchange AddressList对象(如全局地址列表(GAL((并对应于Exchange用户,则该对象表示AddressEntry

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

ExchangeUser是从AddressEntry对象派生的,当调用方对AddressEntry对象执行查询接口时,它将返回而不是AddressEntry。

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

最新更新