【发布时间】:2019-02-24 01:25:09
【问题描述】:
我想;
- 搜索 MS Outlook 的全局地址列表
- 使用输入,filterStr
-
异步检索符合条件的所有项
- 联系人名字以 filterStr 开头或联系人姓氏以 filterStr 开头
- 在某种列表中可用时显示联系人
我正在使用 VB.net 使用 Visual Studio 2017 开发 MS Outlook 插件。 (c# 代码示例很好)。我需要这个插件才能像 MS Skype for Business 那样通过“RICHEDIT60W”的“查找人”字段搜索联系人
到目前为止,我已经尝试了以下方法;
- 在我的表单中使用 MS Skype for Business 的“RICHEDIT60W”(搜索字段)
- 找不到文档
- 使用 MS Outlook 的“RichEdit20WPT”(新电子邮件撰写中的“收件人:”字段)
- 找不到文档
- 通过
Session.GetGlobalAddressList获取“全球地址列表”- 成功,但循环超过 50k 项太慢
- 使用
System.DirectorySearcher- 这并不总是有效。当我通过电缆连接到公司网络时,我可以创建对象。当我通过家庭无线网络连接时,我收到错误消息:“指定的域不存在或无法联系”
- 我确实尝试过使用
DirectoryEntry初始化的对象; -
name.surname.corporation.com我的电子邮件地址是 name.surname@corporation.com,这次我收到“未指定的错误” - 我尝试使用 ADODB 进行连接,如 https://docs.microsoft.com/en-us/windows/desktop/ad/example-code-for-searching-for-users#visual-basic-example 中给出的那样
- 这也给了我第 42 行的错误 (
root = GetObject("LDAP://rootDSE")
问题:我该如何做以下任何一项;
- 联系
DirectorySearcher工作 - 让 ADODB 方法工作
- 使用 Outlook 或 Skype for Business 的现有 RichEdit 控件
?
【问题讨论】:
-
您只需要让用户从 GAL 中挑选某人吗?这可能是您需要的:docs.microsoft.com/en-us/office/vba/api/…
-
我需要制作一个自定义控件,以在表格中显示为字段。当用户要输入多行项目时,我希望避免为每一行弹出一个对话框。我还需要能够在用户输入时动态显示匹配的联系人。
标签: vb.net active-directory ldap vsto outlook-addin