如何在“电子邮件列表”窗格中访问邮件项目
本文关键字:访问 项目 邮件列表 | 更新日期: 2023-09-27 18:35:03
我正在开发一个 Outlook 2013 插件,该插件需要访问当前显示在电子邮件列表窗格中的电子邮件。
我已经搜索了很多,但我只能找到在当前所选文件夹中列出电子邮件的方法:
Outlook.MAPIFolder curFolder = this.Application.ActiveExplorer().CurrentFolder;
Outlook.Items mailItems = curFolder.Items;
MailItem item = mailItems.GetFirst();
如果用户未应用任何搜索筛选器,这将正常工作;但如果通过即时搜索栏应用筛选器,则此代码将生成与未应用筛选器相同的邮件项目列表。
我想到了两种可能解决此问题的方法,但在网上找不到任何适用于两者的资源。1(最好直接读取当前在电子邮件列表窗格中呈现的邮件项目列表。2(或者,读取即时搜索文本框中的值,并使用Items.Find(
(命令将其应用于当前选定的文件夹。
任何指导或解释将不胜感激;提前感谢。
Outlook
对象模型不提供对 Outlook 中显示的筛选器行或项目的任何直接访问。
但是资源管理器类提供了 CurrentView 属性,该属性返回表示当前视图的对象。类提供应用于当前视图的 Filter 属性。
Sub ResetView()
Dim v as Outlook.View
' Save a reference to the current view object
Set v = Application.ActiveExplorer.CurrentView
' v.Filter
End Sub
因此,您可以将筛选器应用于 Items 集合并获取相同的项目集。