【发布时间】:2011-06-11 05:57:18
【问题描述】:
我正在编写一个 VBA 宏,它将扫描我的收件箱,确定经常给我发电子邮件的人,然后自动将他们(带有许多选择字段)作为新联系人添加到我的个人通讯簿中。
首先,我编写了一些非常简单的 VBA,它会查看收件箱中的所有电子邮件,并为 Microsoft Exchange 服务器上的人显示 SenderEmailAddress:
Dim objEmail As Outlook.MailItem
Set objNS = GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
For Each objEmail In objInbox.Items
If objEmail.SenderEmailType = "EX" Then
Debug.Print objEmail.SenderEmailAddress
End If
Next
我现在有了电子邮件地址,所以下一步是在 GAL 上查找它们。然而,我看到的解决方案涉及扫描整个 GAL,在一家有(字面上)数以万计条目的公司中,这似乎并不高效或实用 - 并且可能会让我受到打击IT 部门。
因此,鉴于电子邮件地址(类似于 /O=MYCOMPANY/OU=EUROPE/CN=RECIPIENTS/CN=RICHARD),查找的最佳方式是什么GAL 上的此联系人,以便我可以获取“电话”、“助理”、“职务”和“手机”字段?
我正在使用 Outlook 2003。
【问题讨论】:
标签: email vba outlook exchange-server gal