搜索项目

本主题介绍用于在文件夹中搜索项目和访问搜索结果的入口点。

Application.AdvancedSearch Explorer.Search Search.GetTable
用途 提供编程方式搜索,根据筛选器搜索指定文件夹内的项目。 执行编程内容索引器搜索,类似于从 Outlook 用户界面执行搜索的用户。 提供了一种访问表 (项) 由以前的 Application.AdvancedSearch 返回的有效方法。 此入口点并不执行单独的搜索。
搜索范围 指定为搜索参数的文件夹。 SearchAllItems 参数决定。 如果 SearchAllItems 为 True,则该方法将搜索与当前文件夹类型相同的所有文件夹, (Explorer.CurrentFolder) 的 DefaultItemType 属性指定,并在“搜索选项”对话框中选择搜索的所有存储。

如果 SearchAllItems 为 False,则该方法将仅搜索由 Explorer.CurrentFolder 表示的文件夹。
由于 Search 对象是从以前的 Application.AdvancedSearch 操作返回的,因此与 Search.GetTable 关联的搜索范围是以前的 Application.AdvancedSearch 的搜索范围。
搜索筛选器 在 DAV 搜索和定位 (DASL) 语法中。 用户界面中 Outlook 搜索支持的所有有效关键词。 搜索短语由双引号分隔,并可连接形成单个搜索筛选器字符串。 与范围类似,与 Search.GetTable 关联的搜索的筛选器是以前的 Application.AdvancedSearch 的筛选器参数。
搜索完成 使用 AdvancedSearchComplete 事件可确定指定搜索完成的时间。 不提供指示搜索完成的回调。 搜索在前一个 Application.AdvancedSearch 中完成。 Search.GetTable 只返回搜索结果。

搜索结果

可通过下列途径之一访问搜索结果:

  • Search.Results 将搜索结果作为 结果 集合包含。 集合中的每个项都包含完整的项属性集。

  • 搜索保存 会将结果保存到搜索文件夹。

  • Search.GetTable 还返回与 Results 集合中相同的项目集,但每个项将仅包含一组默认属性,因此通常提供更好的性能。

当前文件夹的搜索结果显示在资源管理器中。 若要删除资源管理器中的任何搜索结果,请调用 Explorer.ClearSearch

搜索结果在 表中 返回,其中包含从以前的 Application.AdvancedSearch 返回的相同项集。 由于 每个项目仅包含一组有限的属性,因此这通常是访问搜索结果的更有效方法。 若要在搜索结果中包含非默认属性,请使用 Columns.Add 获取更新的

由于项的“条目 ID”是返回的属性之一,因此还可以使用 GetItemFromID 获取项对象,并访问 Table 对象不支持的其他项属性(如 BodyAutoResolvedWinner),因为性能原因。|

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。