首页 > 解决方案 > 如何在通讯录中搜索电话号码?

问题描述

可以使用以下选项从邮件 ID 或联系人姓名中获取联系人详细信息

Namespace.CreateRecipient / Recipient.Resolve

是否有任何选项可以使用电话号码或公司名称等直接搜索 Outlook 通讯录?

我能够获得许多 VBA 编码选项来遍历地址簿中的每个联系人并找到电话号码的匹配联系人。

标签: vbaoutlook

解决方案


与消息存储提供程序不同,大多数地址簿提供程序不支持任意搜索(仅因为 Outlook 不使用它们),因此在底层大多数支持简单PR_ANR搜索,这就是CreateRecipient/Resolve使用 AFAIK - 它本质上是“这里是字符串,找到对您有意义的最佳匹配”。

某些通讯簿提供程序(例如 GAL)公开搜索模板(如果单击“高级搜索”,您可以在 Outlook 通讯簿中看到其 UI。该功能在 Extended MAPI(仅限 C++ 或 Delphi)或Redemption(任何语言 - 请参阅RDOAddressListSearch对象)。不幸的是,电话号码不是 GAL 支持的搜索字段之一 - 只有拳头/姓氏、部门、公司、城市等是)


推荐阅读