Вызов Outlook Interop AdvancedSearch завершается с фильтром - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь запустить функцию AdvancedSearch в классе Outlook.Application, но получаю исключение с сообщением «Операция не удалась». Как я могу получить это для успешного завершения?

Ранее я успешно использовал базовую функцию поиска для поиска в папке. Теперь мне нужен мой код, чтобы определить, дал ли поиск какие-либо результаты. Поэтому мне нужна функция расширенного поиска. Когда я вызываю функцию без указанного фильтра, Outlook успешно перейдет в папку. Когда я включаю значение фильтра, возникает исключение. Я здесь не проверяю, но свойство IsInstantSearchEnabled имеет значение true.

Dim scope = $"'{searchFolder.FolderPath}'"
Dim searchAttachment = "https://schemas.microsoft.com/mapi/proptag/0x0EA5001E"
Dim filter = $"@SQL={Chr(34)}{searchAttachment}{Chr(34)} ci_phrasematch '{searchText}'"
Dim search = app.AdvancedSearch(scope, filter)

область действия: '\ ??? \ Inbox \ ???'

filter: @SQL = "https://schemas.microsoft.com/mapi/proptag/0x0EA5001E" ci_phrasematch '???'

??? только что заменены значения для этой публикации.

1 Ответ

1 голос
/ 12 апреля 2019

Очевидно, что аргумент фильтра в AdvancedSearch требует, чтобы часть '@ SQL =' была опущена, чтобы функционировать, тогда как другие методы требуют этого.Удаление этой части строки исправило ее.

...