0

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

4

1 回答 1

0

Outlook 对象模型不提供任何用于检索搜索条件的内容。您可以做的最好的事情是获取文件夹或资源管理器窗口的当前视图的过滤器字符串。Explorer.CurrentView属性返回或设置一个View表示当前视图的对象。Folder.CurrentView属性返回一个代表当前视图的对象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对象允许您创建可自定义的视图,以便您更好地排序、分组并最终查看所有不同类型的数据。有多种不同的视图类型可提供创建和维护重要数据所需的灵活性。

  • 表视图类型 ( olTableView) 允许您在基于字段的简单表中查看数据。
  • 日历视图类型 ( olCalendarView) 允许您以日历格式查看数据。
  • 卡片视图类型 ( olCardView) 允许您查看一系列卡片中的数据。每张卡片都显示了该项目所包含的信息,并且可以进行分类。
  • 图标视图类型 ( olIconView) 允许您以图标的形式查看数据,类似于 Windows 文件夹或资源管理器。
  • 时间线视图类型 ( olTimelineView) 允许您在可自定义的线性时间线中查看接收到的数据。

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

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

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

此外,您可能会发现类似的帖子很有帮助。

于 2022-02-06T13:18:04.287 回答