Partager via


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

Définition

Effectue une recherche basée sur une chaîne de recherche DASL (DAV Searching and Locating) spécifiée.

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

Paramètres

Scope
String

Portée de la recherche. Par exemple, le chemin d'accès à un dossier. Il est recommandé d'écrire le chemin entre des guillemets simples. Sinon, la recherche risque de ne pas renvoyer de résultats corrects si le chemin contient des caractères spéciaux, y compris des caractères Unicode. Pour spécifier plusieurs chemins, encadrez chacun d'eux par des guillemets simples et séparez-les par une virgule.

Filter
Object

Filtre de recherche DASL qui définit les paramètres de la recherche.

SearchSubFolders
Object

Détermine si la recherche inclut certains ou tous les sous-dossiers du dossier.

Tag
Object

Nom donné en tant qu'identificateur pour la recherche.

Retours

Objet Search qui représente les résultats de la recherche.

Remarques

Vous pouvez effectuer plusieurs recherches simultanées en appelant la méthode AdvancedSearch sur plusieurs lignes de code. Toutefois, sachez que lorsque vous créez par programme un grand nombre de dossiers de recherche, l’activité générée par les recherches simultanées peut avoir des répercussions négatives sur les performances d’Outlook, surtout si Outlook effectue les recherches en mode Exchange en ligne.

La méthode AdvancedSearch et les fonctions associées dans le modèle objet Outlook ne crée pas de dossier de recherche qui apparaît dans l’interface utilisateur Outlook. Toutefois, vous pouvez utiliser la Save(String) méthode de l’objet Search renvoyé pour créer un dossier de recherche qui apparaîtra dans la liste Dossiers de recherche de l’interface utilisateur Outlook.

À l’aide du Scope paramètre , vous pouvez spécifier un ou plusieurs dossiers dans le même magasin, mais vous ne pouvez pas spécifier plusieurs dossiers dans plusieurs magasins. Pour spécifier plusieurs dossiers pour le Scope paramètre, utilisez une virgule entre chaque chemin d’accès de dossier et placez chaque chemin d’accès de dossier entre guillemets simples. Pour les dossiers par défaut tels que Boîte de réception ou Éléments envoyés, vous pouvez utiliser simplement le nom du dossier au lieu de saisir l'intégralité du chemin d'accès. Par exemple, les lignes de code suivantes représentent des paramètres valides 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;

Le Filter paramètre peut être n’importe quelle requête DASL valide. Pour plus d'informations sur les requêtes DASL, voir Filtrage des éléments et Référencer les propriétés par un espace de noms. Notez que vous ne pouvez pas utiliser une requête JET pour le Filter paramètre recherche avancée. Si la recherche instantanée est activée sur un magasin qui contient un dossier spécifié dans le Scope paramètre , vous pouvez utiliser des mots clés recherche instantanée pour améliorer les performances de votre recherche. Si vous utilisez les mots clés de recherche instantanée et si la recherche instantanée n'est pas activée, Outlook renvoie une erreur et la recherche échoue.

S’applique à