每当我们右键单击电子邮件地址,然后单击打开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用户的属性(如FirstName
、JobTitle
、LastName
和OfficeLocation
(的一流访问。您还可以通过PropertyAccessor
对象访问对象模型中未公开的特定于Exchange用户的其他属性。请注意,一些显式内置属性是读写属性。设置这些属性要求代码在适当的Exchange管理员帐户下运行;在没有足够权限的情况下调用ExchangeUser.Update
方法将导致";"拒绝许可";错误您可以使用MFCMAPI或OutlooSpy实用程序来探索低级属性。