Сбой вызова расширенного поиска взаимодействия Outlook с фильтром

#outlook #interop #advanced-search

#outlook #взаимодействие #расширенный поиск

Вопрос:

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

Ранее я успешно использовал базовую функцию поиска для поиска в папке. Теперь мне нужно, чтобы мой код определял, дал ли поиск какие-либо результаты. Поэтому мне требуется функция расширенного поиска. Когда я вызываю функцию без указанного фильтра, 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)
  

область действия: ‘???Входящие ??? ‘

фильтр: @SQL=»https://schemas.microsoft.com/mapi/proptag/0x0EA5001E » ci_phrasematch ‘???’

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

Ответ №1:

По-видимому, аргумент filter в AdvancedSearch нуждается в том, чтобы часть ‘@SQL =’ была опущена, чтобы функционировать, тогда как другие методы требуют этого. Удаление этой части строки исправило ее.