【问题标题】:Having Trouble filtering mails in Outlook with certain Categories with VBA使用 VBA 在 Outlook 中过滤具有某些类别的邮件时遇到问题
【发布时间】:2022-01-10 06:52:52
【问题描述】:

我在收件箱中有数百封邮件,它们可以有多个类别(“AA”、“BB”、“CC”、“DD”等)的任意组合,可以按任意顺序分配。 我想选择仅使用.Items.Restrict 的邮件来过滤具有“AA”而不具有“BB”的邮件,无论是否设置了其他类别。我试图避免循环所有邮件来检查.categories 文本字符串,这是一种可行的方法,但速度很慢。 我尝试过这样的事情,但没有运气:

    sFilter = "[Categories] = 'AA' And Not([Categories] = 'BB')"
    Set oOlResults = oOlInb.Items.Restrict(sFilter)

这可能吗?任何帮助将不胜感激。

【问题讨论】:

    标签: vba outlook categories


    【解决方案1】:

    不包括类别 BB 的所有可能组合。

    sfilter = "[Categories] = 'AA' OR [Categories] = 'AA, CC' OR [Categories] = 'CC, AA'"
    

    【讨论】:

    • 谢谢尼顿。我明白你的想法!但是我不得不编辑我的原始帖子,因为我意识到我使用一个只有 3 个类别的示例简化了太多,你可以巧妙地解决。实际上,有几十个类别在使用。抱歉不够清楚。我的错!!!!
    【解决方案2】:

    试图帮助有同样问题的人,我将发布我刚刚发现的内容:这可以使用 DASL 过滤字符串来解决。对于这个例子:

    sFilter = "@SQL=""urn:schemas-microsoft-com:office:office#Keywords"" like 'AA' AND NOT (""urn:schemas-microsoft-com:office:office#Keywords"" like 'BB')"
    

    【讨论】:

      猜你喜欢
      • 2013-05-29
      • 2022-01-22
      • 2018-10-22
      • 1970-01-01
      • 2022-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多