温馨提示:本文翻译自stackoverflow.com,查看原文请点击:vba - Item.Restrict Function doesn't work when using like instead of =
outlook vba outlook-vba outlook-filter

vba - 使用like代替=时,Item.Restrict函数不起作用

发布于 2020-03-27 11:59:29

我正在创建一个宏,该宏将电子邮件附件拉入一个文件夹中以进行打开和复制,当预定义主题名称(即永不更改)时,它可以100%完美地工作。

' this works
Set oOlInbFiltered = oOlInb.Items.Restrict("[Subject] = " & SubjectName)

但是,当我尝试限制预设的开头时,例如,每封电子邮件都以“ aaaaa”开头,则会导致自动错误,并显示以下代码:

' this doesnt
Set oOlInbFiltered = oOlInb.Items.Restrict("[Subject] like '" & PrefixName & "%'")

有什么帮助吗?

预期结果:没有错误消息,文件夹中的文件。相反,我收到

运行时错误'-2147352567(800200009)':发生自动化错误异常。

查看更多

查看更多

提问者
Matthew Dallow
被浏览
85
Eugene Astafiev 2019-07-04 05:01

尝试改用以下代码:

criteria = "@SQL=" & Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " like '" & PrefixName & "%'" 
Set oOlInbFiltered = oOlInb.Items.Restrict(criteria)