【问题标题】:How to setup rule for emails that contains specific words in top email body only?如何为仅在顶部电子邮件正文中包含特定单词的电子邮件设置规则?
【发布时间】:2021-09-27 01:58:23
【问题描述】:

我创建了一个规则,将正文中包含特定单词的电子邮件移动到另一个文件夹。

只要该词出现在线程下方的旧电子邮件正文中(当您向下滚动到已回复的旧电子邮件时),它就会适用。

我只需要它在最近的电子邮件正文中识别该词(并忽略线程的其余部分)。

【问题讨论】:

    标签: vba outlook rules email-body


    【解决方案1】:

    Outlook 不区分旧电子邮件正文和新电子邮件正文。消息正文是单个字符串。您可以做的最好的事情是比较同一对话中两个项目的消息正文并提取较新的部分。因此,在此之后,您将能够识别关键字是否是新消息的一部分。 GetConversation 方法获取一个Conversation 对象,该对象表示该项目所属的对话。对话代表一个或多个文件夹和商店中的一个或多个项目。

    使用Items 类的Find/FindNextRestrict 方法查找与指定条件对应的项目。通过以下文章中的代码示例了解更多关于它们的信息:

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

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

    Advanced search in Outlook programmatically: C#, VB.NET 文章中了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-20
      • 2023-02-04
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 2020-11-23
      • 2017-01-16
      • 1970-01-01
      相关资源
      最近更新 更多