Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel vba项。限制2条件_Vba_Excel_Outlook - Fatal编程技术网

Excel vba项。限制2条件

Excel vba项。限制2条件,vba,excel,outlook,Vba,Excel,Outlook,我需要帮助如何把这个限制语法。原作品: Set myTasks = Fldr.Items.Restrict("[ReceivedTime]>'" & Format(Date - daysAgo, "DDDDD HH:NN") & "'") 现在我被告知可以将2个过滤器置于限制中,因此我尝试: Set myTasks = Fldr.Items.Restrict("[ReceivedTime]>'" & Format(Date - daysAgo, "DDDDD

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

Set myTasks = Fldr.Items.Restrict("[ReceivedTime]>'" & Format(Date - daysAgo, "DDDDD HH:NN") & "'")
现在我被告知可以将2个过滤器置于限制中,因此我尝试:

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

我尝试了上面的代码,但得到一个错误“条件无效”。基本上,条件1根据收到电子邮件的日期过滤电子邮件,该日期单独起作用。我需要的第二个条件是确保循环将忽略主题行中“无法送达”的电子邮件。请帮助回答正确的语法。

回答您提出的问题,而不是您想要回答的问题

可以一个接一个地应用两个限制,但两者都必须起作用。在这种情况下,似乎不可能使用非主题过滤器

如果可能,您可以首先使用注释中所述的非版本的此筛选器“@SQL=“&Chr(34)&”urn:schemas:httpmail:subject”&Chr(34)&“like'%Undeliverable%”筛选文件夹中的项目

其次,筛选Mytasks,而不是Fldr:

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

在这个问题上没有深入挖掘,你有没有先用undeliverable进行过尝试,然后在排除这些问题后再进行排序?嗨,事实上我没有。sharedmailbox每天接收数千封电子邮件,因此接收时间对于缩小范围非常重要。我认为问题在于语法,而不是我需要的帮助。老实说,这对我来说是一场限制语法的斗争。我只是在查看
restrict
的文档时发现:没有办法执行“contains”操作。例如,不能使用“查找”或“限制”来搜索“主题”字段中包含特定单词的项目。相反,您可以使用AdvancedSearch方法,也可以循环遍历文件夹中的所有项目,并使用InStr函数在字段中执行搜索。可以使用Restrict方法搜索以特定字符范围内开始的项目。好的,那么我如何向InStr抛出一个字符串值?if(InStr(1,olmail.subject,“无法送达”,vbtextcompare)>0然后?在最后一条评论之后,我发现:。将
'%sketch%'
更改为
'%Undeliverable%'
,它就起作用了…在中添加了日期条件,我得到的
条件无效
。如我所述,SQL筛选器语法是一个挑战。那么,您能给我看一下该筛选器的not版本吗?或者我可以吗只需将“喜欢”更改为“不”作为操作员?我尝试将“喜欢”更改为“不”,但出现了一个分析错误。Not版本很可能会解决此问题。请提供建议。谢谢。在等待您的响应时,我所做的是设置2 mytasks one只搜索“无法送达”并将其标记为“无法送达”如果它在第一个循环后包含undeliverable和mytasks2,而没有undeliverable条件。看起来它可以工作。但是可能会很慢,因为我最后做了两个循环。如果我们可以将strfilter转换为NOT语句,这将非常有帮助。有人可以帮助将此语句转换为NOT吗?strfilter=“@SQL=&Chr(34)&“urn:schemas:httpmail:subject”&Chr(34)&“像“%undeliverable%””
Set myTasks = myTasks.Restrict("[ReceivedTime]>'" & Format(Date - daysAgo, "DDDDD HH:NN") & "'")