_Application.AdvancedSearch(String, Object, Object, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет поиск на основе указанной строки поиска DAV Search and Locating (DASL).
public Microsoft.Office.Interop.Outlook.Search AdvancedSearch (string Scope, object Filter, object SearchSubFolders, object Tag);
Public Function AdvancedSearch (Scope As String, Optional Filter As Object, Optional SearchSubFolders As Object, Optional Tag As Object) As Search
Параметры
- Scope
- String
Область поиска. Например, путь к папке. Рекомендуется, чтобы путь к папке был заключен в одинарные кавычки. В противном случае поиск может не возвращать правильные результаты, если путь к папке содержит специальные символы, включая символы Юникода. Чтобы указать несколько путей к папкам, заключите каждый путь к папке в одинарные кавычки и разделите пути к папкам с одними кавычками с помощью запятой.
- Filter
- Object
Фильтр поиска DASL, определяющий параметры поиска.
- SearchSubFolders
- Object
Определяет, будет ли поиск включать какие-либо вложенные папки папки.
- Tag
- Object
Имя, заданное в качестве идентификатора для поиска.
Возвращаемое значение
Объект Search , представляющий результаты поиска.
Комментарии
Вы можете одновременно выполнить несколько поисковых запросов, вызвав метод AdvancedSearch в последовательных строках кода. Однако следует помнить, что программное создание большого количества папок поиска может привести к значительным одновременным действиям поиска, которые повлияют на производительность Outlook, особенно если Outlook ведет поиск в режиме Exchange в интернете.
Метод AdvancedSearch и связанные функции в объектной модели Outlook не создают папку поиска, которая будет отображаться в пользовательском интерфейсе Outlook. Однако можно использовать Save(String) метод возвращаемого объекта Search, чтобы создать папку поиска, которая будет отображаться в списке Папки поиска в пользовательском интерфейсе Outlook.
Scope
С помощью параметра можно указать одну или несколько папок в одном хранилище, но нельзя указать несколько папок в нескольких хранилищах. Чтобы указать несколько папок для Scope
параметра, используйте символ-запятую между каждым путем к папке и заключите каждый путь к папке в одинарные кавычки. Для папок по умолчанию, таких как "Входящие" или "Отправленные", можно использовать простое имя папки вместо полного пути к папке. Например, следующие строки кода представляют допустимые Scope
параметры:
Dim Scope As String = "'Inbox', 'Sent Items'"
string Scope = "'Inbox', 'Sent Items'";
Dim Scope1 As String = "'" & Application.Session.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderInbox).FolderPath & _
"','" & Application.Session.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderSentMail).FolderPath
string Scope1 = "'" + Application.Session.GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderInbox).FolderPath +
"','" + Application.Session.GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderSentMail).FolderPath;
Параметром Filter
может быть любой допустимый запрос DASL. Дополнительные сведения о запросах DASL см. в статьях Фильтрация элементов и Ссылка на свойства по пространству имен. Обратите внимание, что нельзя использовать запрос JET для Filter
параметра Расширенного поиска. Если в хранилище, содержащем папку, указанную в Scope
параметре, включен мгновенный поиск, можно использовать ключевые слова мгновенного поиска, чтобы повысить производительность поиска. Если вы используете ключевые слова мгновенного поиска и мгновенный поиск не включен, Outlook вернет ошибку, и поиск завершится ошибкой.