Excel VBA使用ExchangeUser别名属性搜索Outlook GAL

时间:2014-07-10 18:07:16

标签: excel vba excel-vba outlook

我正在尝试使用Excel VBA搜索200,000多个Outlook GAL,我作为搜索参数的唯一内容是alias属性。

这可以通过Outlook>>完成。地址簿>>高级查找对话框,它可以非常快速地返回结果。

我尝试了类似于浏览每个项目,调用ExchangeUser对象并将Alias属性与我的搜索进行比较,但它需要很长时间。

源是一份月度报告,其中包含并且不断更改大约100个别名的Excel列表,每个报告都必须在Outlook GAL中搜索超过200,000个条目。

有没有办法从Excel实用地执行它,响应速度与outlook对话框一样快?

1 个答案:

答案 0 :(得分:1)

你可以

  1. 使用Application.Session.CreateRecipient / Recipient.Resolve并希望别名解析,并且没有不明确的条目。搜索将在搜索路径上的所有地址簿容器中执行。

  2. 使用扩展MAPI(C ++或Delphi)对GAL应用限制。请注意,只能应用非常特殊的限制 - 您需要打开PR_SEARCH属性作为IMAPIContainer,设置PR_ALIAS属性,调用IMAPIContainer :: GetSearchCriteria,然后将该条件应用于GAL内容表。

  3. 使用Redemption(任何语言) - 它公开RDOAddressListSearch对象