Как вызвать диалог "Расширенный поиск" в Outlook с VBA
Я знаю, как сделать поиск, используя Outlook.AdvancedSearch()
метод. То, что я хочу, основано на параметрах для моего поиска, чтобы заполнить диалог расширенного поиска сборки кодом VBA, как показано ниже.
Что я хочу, так это в конце поиска конечного пользователя, чтобы выбрать и перейти от результатов выборочно.
Редактировать Если это невозможно (как показывают результаты моего поиска), как я могу сохранить результаты в папке поиска? Когда я использую Search.Save()
метод и папка уже существует, тогда я получаю ошибку. По крайней мере, я бы хотел, чтобы папка поиска была активной после завершения поиска.
1 ответ
Вы можете проанализировать папку в пространстве имен ns
с таким кодом:
ns.Folders("Personal Folders").Folders("Inbox")
Найдено в этой теме: Доступ к папке Outlook по умолчанию
Таким образом, вы можете проверить, существует ли ваша папка поиска, прежде чем создавать ее.
Вы также можете предотвратить ошибку или обработать ее, например:
On Error Resume Next
'Create folder (won't raise error if already exists)
On Error GoTo 0
В конце концов, чтобы активировать папку поиска, вы можете использовать CurrentFolder
имущество:
Sub ChangeCurrentFolder()
Dim myolApp As Outlook.Application
Dim myNamespace As Outlook.NameSpace
Set myolApp = CreateObject("Outlook.Application")
Set myNamespace = myolApp.GetNamespace("MAPI")
Set myolApp.ActiveExplorer.CurrentFolder = _
myNamespace.GetDefaultFolder(olFolderCalendar)
End Sub
См. MSDN для получения дополнительной информации.