【问题标题】:Applying Filter to outlook folder VBA将过滤器应用于 Outlook 文件夹 VBA
【发布时间】: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 代码中使用相同的格式样式。希望对你有帮助

标签: vba filter outlook


【解决方案1】:

> ' & 是过滤字符串的一部分。

【讨论】:

  • 是否需要& > " ' & "
  • 最有可能 & " > '" & datevalue & "' "
猜你喜欢
  • 2018-11-08
  • 1970-01-01
  • 1970-01-01
  • 2015-01-18
  • 2021-08-07
  • 1970-01-01
  • 1970-01-01
  • 2013-06-15
  • 2017-09-22
相关资源
最近更新 更多