Excel VBA使用ExchangeUser Alias属性搜索Outlook GAL

Excel VBA使用ExchangeUser Alias属性搜索Outlook GAL,vba,excel,outlook,Vba,Excel,Outlook,我正在尝试使用Excel VBA通过一个200000多个Outlook GAL进行搜索,唯一的搜索参数是alias属性 这可以从Outlook>>通讯簿>>高级查找对话框中完成,它会很快返回结果 我尝试了一些方法,比如遍历每个项目,调用ExchangeUser对象,并将Alias属性与我的搜索进行比较,但这需要很长时间 该来源是一份月度报告,其中包含不断变化的Excel列表,约有100个别名,每个别名都必须在Outlook GAL中搜索,其中包含200000多个条目 是否有一种实用的方法可以从E

我正在尝试使用Excel VBA通过一个200000多个Outlook GAL进行搜索,唯一的搜索参数是alias属性

这可以从Outlook>>通讯簿>>高级查找对话框中完成,它会很快返回结果

我尝试了一些方法,比如遍历每个项目,调用ExchangeUser对象,并将Alias属性与我的搜索进行比较,但这需要很长时间

该来源是一份月度报告,其中包含不断变化的Excel列表,约有100个别名,每个别名都必须在Outlook GAL中搜索,其中包含200000多个条目

是否有一种实用的方法可以从Excel中执行此操作,其响应速度与outlook对话框一样快

你可以

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

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

  • 使用赎回(任何语言)-它公开对象