VBA:给定一个电子邮件地址,如何在GAL中查找它们?

我正在编写一个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。     
已邀请:
我不太了解你可以用GAL做什么,但是,根据你在公司中设置的方式,你可以尝试查询Active Directory而不是那些字段。您可以为特定用户执行查询,避免必须有效地“下载”通讯簿。 有很多关于如何通过VBA访问它的信息,还有一些例子可以帮助您入门http://www.rlmueller.net/ADOSearchTips.htm     

要回复问题请先登录注册