我想知道如何修复此Outlook 高级搜索类似SQL的条件字符串:
filterStr = "@SQL=""urn:schemas:httpmail:subject"" = """ & _
EmailName & """ AND ""urn:schemas:httpmail:date"" >= """ & _
TDateUTC & """ AND ""urn:schemas:httpmail:date"" <= """ & _
TDateUTCEOD & """"
EmailName
是一个字符串变量,用于调用电子邮件主题
TDateUTC
是一个日期变量,它调用输入日期然后
将其转换为UTC
TDateUTCEOD
如上所述,时间设定为晚上11:59:59
我的语法完全被破解,因为我不知道如何将变量合并到Outlook VBA的高级搜索中。
答案 0 :(得分:2)
以编程方式执行高级搜索的MSDN示例显示了正确的语法:
Const strF As String = "urn:schemas:mailheader:subject = 'Test'"
注意:
urn:schemas:foo:bar
部分不被双引号包围。@SQL=
前缀。这意味着正确的标准字符串将如下所示:
filterStr = "urn:schemas:httpmail:subject = '" & EmailName & _
"' AND urn:schemas:httpmail:date >= '" & TDateUTC & _
"' AND urn:schemas:httpmail:date <= '" & TDateUTCEOD & '"
请注意,如果TDateUTC
和TDateUTCEOD
变量为String
,则会隐式将Date
和CStr
转换为filterStr = "urn:schemas:httpmail:subject = '" & EmailName & _
"' AND urn:schemas:httpmail:date >= '" & CStr(TDateUTC) & _
"' AND urn:schemas:httpmail:date <= '" & CStr(TDateUTCEOD) & '"
值。您可以使用内置的npm update
转换函数明确转换:
email