Excel vba Items.restrict 2条件

我需要帮助如何把这个在一个限制的语法。 原来的限制作品:

Set myTasks = Fldr.Items.Restrict("[ReceivedTime]>'" & Format(Date - daysAgo, "DDDDD HH:NN") & "'") 

现在我被告知可以将2个filter设置为限制,所以我试过了:

 Set myTasks = Fldr.Items.Restrict("[ReceivedTime]>'" & Format(Date - daysAgo, "DDDDD HH:NN") & "' And Not [Subject] like '%Undeliverable%'") 

我试过上面的代码,但我得到一个错误“条件是无效的”。 基本上,条件1根据收到的date来过滤电子邮件,这个date单独工作。 我需要的第二个条件是确保循环将忽略在主题行中具有“Undeliverable”的邮件。 请帮助如何把正确的语法。

回答你问的问题,而不是你想要回答的问题。

两个限制可以相继应用,但都必须工作。 在这种情况下,看起来不是主题filter可能是不可能的。

您可以首先筛选文件夹中的项目(如果可能),使用此筛选器的非版本“@ SQL =”&Chr(34)&“urn:schemas:httpmail:subject”&Chr(34)&“like '%Undeliverable%'“,如评论中所述。 https://stackoverflow.com/a/27350173/1571407

 Set myTasks = Fldr.Items.Restrict(Not .... '%Undeliverable%'") 

其次,过滤Mytasks,而不是Fldr:

 Set myTasks = myTasks.Restrict("[ReceivedTime]>'" & Format(Date - daysAgo, "DDDDD HH:NN") & "'")