Compartilhar via


_Application.AdvancedSearch(String, Object, Object, Object) Método

Definição

Realiza uma pesquisa com base em uma sequência de pesquisa do DAV Searching and Locating (DASL) especificada.

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

Parâmetros

Scope
String

O escopo da pesquisa. Por exemplo, o caminho de pasta de uma pasta. É recomendável que o caminho da pasta esteja entre aspas simples. Caso contrário, talvez a pesquisa não retorne resultados corretos se o caminho da pasta contiver caracteres especiais (como caracteres Unicode, por exemplo). Para especificar vários caminhos de pasta, coloque cada caminho de pasta entre aspas simples e separe os caminhos de pasta com aspas simples com vírgula.

Filter
Object

O filtro de pesquisa DASL que define os parâmetros da pesquisa.

SearchSubFolders
Object

Determina se a pesquisa será feita também em subpastas da pasta.

Tag
Object

O nome dado como identificador para a pesquisa.

Retornos

Um Search objeto que representa os resultados da pesquisa.

Comentários

Você pode executar várias pesquisas simultaneamente chamando o método AdvancedSearch em linhas sucessivas de código. No entanto, você deve estar ciente de que criar programaticamente um grande número de pastas de pesquisa pode resultar em atividade significativa pesquisa simultâneas que seria afetam o desempenho do Outlook, especialmente se o Outlook conduz a pesquisa no modo online do Exchange.

O método AdvancedSearch e recursos relacionados no modelo de objeto do Outlook não crie uma pasta de pesquisa que irá aparecer na interface de usuário do Outlook. No entanto, você pode usar o Save(String) método do objeto Search que é retornado para criar uma Pasta de Pesquisa que aparecerá na lista Pastas de Pesquisa na interface do usuário do Outlook.

Usando o Scope parâmetro, você pode especificar uma ou mais pastas no mesmo repositório, mas talvez não especifique várias pastas em vários repositórios. Para especificar várias pastas para o Scope parâmetro, use um caractere de vírgula entre cada caminho de pasta e inclua cada caminho de pasta em aspas individuais. Para pastas padrão, como caixa de entrada ou itens enviados, você pode usar o nome da pasta simples em vez do caminho de pasta completa. Por exemplo, as seguintes linhas de código representam parâmetros válidos 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;

O Filter parâmetro pode ser qualquer consulta DASL válida. Para obter informações adicionais sobre consultas DASL, consulte Filtrando itens e referenciando propriedades por namespace. Observe que você não pode usar uma consulta JET para o Filter parâmetro de Pesquisa Avançada. Se a Pesquisa Instantânea estiver habilitada em um repositório que contém uma pasta especificada no Scope parâmetro, você poderá usar palavras-chave de Pesquisa Instantânea para melhorar o desempenho da pesquisa. Se você usar palavras-chave de pesquisa instantânea e pesquisa instantânea não está habilitada, o Outlook retornará que um erro e sua pesquisa falhará.

Aplica-se a