【发布时间】:2018-01-09 16:04:51
【问题描述】:
我正在为我的一段代码苦苦挣扎。
我正在过滤outlook中的一个文件夹以限制主题和接收时间。
如果我只对大于另一天的一天感兴趣,则过滤器可以完美运行。 即-
datevalue = Format(Sheet1.Range("c" & reloop).Value - 1, "DDDDD HH:NN")
本地视图 30/07/2017 - 电子表格上的值为 30/07/2017 00:00:00
当我尝试过滤大于天和时间时,它会分解并返回文件夹中的所有项目。
我在下面设置日期值
datevalue = Format(Sheet1.Range("L" & reloop).Value, "DDDDD HH:NN")
本地窗口中的这个看起来像 31/07/2017 07:00:00。电子表格上的值为 31/07/2017 07:00:00
我使用的过滤器的完整代码如下
strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " = '" & FilterValue & "' And " & Chr(34) & _
"urn:schemas:httpmail:datereceived" & Chr(34) & " > ' & " & datevalue & " & '"
这只是声明日期值时的格式问题吗?
【问题讨论】:
-
你能试试其他格式,比如“DD/MM/YYYY”
-
如果我将它从“ddddd hh:nn”更改为“dd/mm/yyyy”,我需要考虑时间是否会删除时间戳
-
是的,它会从中删除时间戳。如果您对所有日期使用相同的格式以避免任何不匹配错误,效率会更高
-
对于更多日期格式,您可以使用自定义格式在 excel 单元格中进行试验和错误,并尝试不同的组合,您可以在 vba 代码中使用相同的格式样式。希望对你有帮助