使用VBA提取Outlook联系人信息

时间:2015-08-25 14:03:15

标签: vba email outlook contacts outlook-vba

我正在尝试从Outlook中联系人的联系信息部分提取电子邮件地址,但是,我无法访问右键单击联系人并导航到Outlook Properties > E-Mail Addresses时显示的相同数据。

Contact Information

我如何以编程方式访问此内容?

2 个答案:

答案 0 :(得分:2)

ContactItem.Email1Address
  

返回或设置表示第一个电子邮件地址的String   联系人的电子邮件条目。读/写。

via MSDN

Gregthatcher.com有一个可以为此任务修改的报告脚本。基本上你Set ContactFolder = Session.GetDefaultFolder(olFolderContacts)然后循环For Each currentItem In ContactFolder.Items,检查课程Class = olContact然后获取currentItem.Email1Address

答案 1 :(得分:1)

您上面的内容不是联系人,这是GAL地址条目。屏幕截图中的数据存储在PR_EMS_AB_PROXY_ADDRESSES MAPI属性(DASL名称http://schemas.microsoft.com/mapi/proptag/0x800F101F)中。

下面的脚本将显示Outlook中当前所选邮件的EX发件人的代理地址:

Set msg = Application.ActiveExplorer.Selection(1)
Set vSender = msg.Sender
vProxyAddresses = vSender.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x800F101F")
For Index = LBound(vProxyAddresses) To UBound(vProxyAddresses)
  MsgBox vProxyAddresses(Index)
Next