本主题介绍用于在文件夹中搜索项目和访问搜索结果的入口点。
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 对象不支持的其他项属性(如 Body 和 AutoResolvedWinner),因为性能原因。|
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。