Поделиться через


_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 вернет ошибку, и поиск завершится ошибкой.

Применяется к