按多个可能类别之一过滤 Outlook 邮件,同时使用 VBA 排除另一个类别

问题描述 投票:0回答:2

我的收件箱中有数百封邮件。它们可以有数十个类别(“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
2个回答
0
投票

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

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

0
投票

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

sFilter = "@SQL=""urn:schemas-microsoft-com:office:office#Keywords"" like 'AA' AND NOT (""urn:schemas-microsoft-com:office:office#Keywords"" like 'BB')"
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.