Функция Item.Restrict не работает, когда используется вместо - PullRequest
1 голос
/ 03 июля 2019

Я создаю макрос, который вытягивает вложения электронной почты в папку, которую нужно открывать и копировать, которая работает на 100% идеально, когда имя субъекта предопределено, то есть никогда не меняется.

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

Однако, когда я пытаюсь вместо этого ограничить заданное начало, скажем, каждое электронное письмо начинается с 'aaaaa', это вызывает ошибку автоматизации с кодом ниже:

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

Любая помощь?

Ожидаемые результаты: сообщение об ошибке отсутствует, файлы в папке. Вместо этого я получаю

Ошибка времени выполнения '-2147352567 (800200009)': произошла ошибка автоматизации.

1 Ответ

0 голосов
/ 04 июля 2019

Попробуйте использовать следующий код:

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