#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 =’ была опущена, чтобы функционировать, тогда как другие методы требуют этого. Удаление этой части строки исправило ее.