如何使用VBScript在Outlook中搜索未读邮件?

时间:2016-01-13 11:24:41

标签: vba outlook outlook-vba

我可以打开Outlook,将其重点放在收件箱文件夹中,并使用.Unread计算未读邮件。

我希望能够在电子邮件正文中搜索未读电子邮件中的特定电子邮件地址。

我正在使用Windows 7和Outlook 2007。

1 个答案:

答案 0 :(得分:0)

您需要使用Items类的RestrictFind / FindNext方法。请查看以下文章以获取示例代码以及有关它们的更多信息:

例如,要查找文件夹中的所有未读电子邮件,您可以使用以下搜索条件:

  [UnRead] = true

另外,您可能会发现Application类的AdvancedSearch方法很有帮助。在Outlook中使用AdvancedSearch方法的主要好处是:

  • 搜索在另一个线程中执行。您不需要手动运行另一个线程,因为AdvancedSearch方法会在后台自动运行它。
  • 可以在任何位置搜索任何项目类型:邮件,约会,日历,备注等,即超出某个文件夹的范围。 Restrict和Find / FindNext方法可以应用于特定的Items集合(请参阅Outlook中Folder类的Items属性)。
  • 完全支持DASL查询(自定义属性也可用于搜索)。您可以在MSDN中的过滤文章中阅读有关此内容的更多信息。要提高搜索性能,如果为商店启用了即时搜索,则可以使用即时搜索关键字(请参阅Store类的IsInstantSearchEnabled属性)。
  • 最后,您可以随时使用Search类的Stop方法停止搜索过程。

Outlook对象模型提供了三种使用项主体的主要方法:

  • Body - 表示Outlook项目的明文正文的字符串。
  • HTMLBody - 表示指定项目的HTML正文的字符串。
  • Word编辑器 - 正在显示的消息的Microsoft Word文档对象模型。 Inspector类的WordEditor属性从Word对象模型返回Document类的实例,您可以使用它来设置消息体。

您可以在Chapter 17: Working with Item Bodies中详细了解所有这些方式。我们由您决定选择自定义邮件正文。