Outlook 插件:如何获取当前搜索文本框的值

Outlook addin: how to get current search text box value

我有一个 Outlook COM 加载项,希望能够读取用户输入的当前搜索框文本值。我该怎么做?

Outlook 对象模型不提供任何检索搜索条件的功能。您能做的最好的事情是获取文件夹或资源管理器当前视图的过滤器字符串 window。 Explorer.CurrentView property returns or sets a View object representing the current view. And the Folder.CurrentView 属性 returns 表示当前视图的 View 对象。例如:

Private Sub FilterViewToLastWeek() 
 Dim objView As View 
 ' Obtain a View object reference to the current view. 
 Set objView = Application.ActiveExplorer.CurrentView 
 ' Set a DASL filter string, using a DASL macro, to show
 ' only those items that were received last week. 
 objView.Filter = "%lastweek(""urn:schemas:httpmail:datereceived"")%" 
 ' Save and apply the view. 
 objView.Save 
 objView.Apply 
End Sub

View 对象允许您创建可自定义的视图,使您能够更好地排序、分组并最终查看所有不同类型的数据。有多种不同的视图类型可以提供创建和维护重要数据所需的灵活性。

  • table 视图类型 (olTableView) 允许您以简单的方式查看数据 field-based table.
  • 日历视图类型 (olCalendarView) 允许您以日历格式查看数据。
  • 卡片视图类型 (olCardView) 允许您查看一系列卡片中的数据。每张卡片显示物品包含的信息,并可以排序。
  • 图标视图类型 (olIconView) 允许您以图标形式查看数据,类似于 Windows 文件夹或资源管理器。
  • 时间线视图类型 (olTimelineView) 允许您在可自定义的线性时间线中查看接收到的数据。

视图是使用 View 对象的 XML 属性 定义和自定义的。 XML 属性 允许您创建和设置自定义的 XML 架构,该架构定义视图的各种功能。

View.Filter 属性 returns 或设置表示视图过滤器的字符串值。

此 属性 的值是一个字符串,在 DAV 搜索和定位 (DASL) 语法中,表示视图的当前过滤器。有关使用 DASL 语法过滤视图中项目的详细信息,请参阅 Filtering Items

您可能还会发现 有帮助。