Правильный синтаксис для фильтра URN - PullRequest
0 голосов
/ 14 февраля 2020

, пожалуйста, вы можете помочь мне написать правильный запрос для MAPI / SQL в VBA / VBS?

Мне нужен поиск электронной почты от отправителя со звездочкой, т.е. Joseph.The.First@hismail.com -> used filter *The*@hismail.com

У меня есть Вдохновленный кодом, который я нашел в Microsoft или здесь, в Stackflow

strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " like '%sketch%'"

Этот пример выше работает для электронной почты, где тема содержит набросок. Затем я изменил схему URN на -> urn:schemas:httpmail:sentitems

И окончательный код

strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:from LIKE" & " = *The*"

Не работает, ничего не найдено в текущей папке почтового ящика.

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Спасибо. SQL запрос в целом работает в VBA, но что-то не так только в синтаксисе "from". Примечание. Я тестирую электронные письма с темой и отправителем (из) в почтовых папках. Поэтому правильный синтаксис должен найти.

1) Как пример рабочий , я использую его для поиска по теме электронной почты

strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " like '%TestSubject%'"

2) Как не работает пример, я использую его для поиска по отправителю электронной почты. Этот синтаксис VBA принял, но нашел 0 электронных писем.

strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:from" & Chr(34) & " like '%The%'"

или

strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:from" & Chr(34) & " like '*The*'"

или

strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:sender" & Chr(34) & " like '*The*'"
0 голосов
/ 14 февраля 2020

Это неверный запрос: вы пропускаете одинарные кавычки вокруг значения и одновременно используете LIKE и =. Попробуйте

@SQL="urn:schemas:httpmail:from" LIKE '*The*' 
...