_Application.AdvancedSearch(String, Object, Object, Object) Methode

Definition

Führt eine auf einer angegebenen DASL-Suchzeichenfolge (DAV Searching and Locating) basierende Suche aus.

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

Parameter

Scope
String

Der Bereich der Suche. Beispielsweise der Ordnerpfad eines Ordners. Es wird empfohlen, den Ordnerpfad in einfache Anführungszeichen einzuschließen. Andernfalls liefert die Suche möglicherweise keine richtigen Ergebnisse, wenn der Ordnerpfad Sonderzeichen einschließlich Unicode-Zeichen enthält. Um mehrere Ordnerpfade anzugeben, schließen Sie jeden Ordnerpfad in einfache Anführungszeichen ein, und trennen Sie die in einfache Anführungszeichen eingeschlossenen Verzeichnispfade durch ein Komma.

Filter
Object

Der DASL-Suchfilter, der die Parameter der Suche definiert.

SearchSubFolders
Object

Bestimmt, ob die Suche Unterordner des Ordners einschließt.

Tag
Object

Der der Suche als Bezeichner gegebene Name.

Gibt zurück

Ein Search -Objekt, das die Ergebnisse der Suche darstellt.

Hinweise

Es können zugleich mehrere Suchvorgänge durchgeführt werden, indem die AdvancedSearch-Methode in aufeinander folgenden Codezeilen aufgerufen wird. Sie sollten sich jedoch bewusst sein, dass das programmgesteuerte Erstellen einer großen Anzahl von Suchordnern zu umfangreichen gleichzeitigen Suchaktivitäten führen kann, die sich auf die Leistung von Outlook auswirken können, insbesondere, wenn Outlook die Suche im Exchange-Onlinemodus ausführt.

Die AdvancedSearch -Methode und die damit verbundenen Features im Outlook-Objektmodell erstellen keinen Suchordner, der in der Outlook-Benutzeroberfläche angezeigt wird. Sie können jedoch die Save(String) -Methode des zurückgegebenen Search-Objekts verwenden, um einen Suchordner zu erstellen, der in der Liste Suchordner auf der Outlook-Benutzeroberfläche angezeigt wird.

Mit dem Scope -Parameter können Sie einen oder mehrere Ordner im selben Speicher angeben, aber Sie dürfen nicht mehrere Ordner in mehreren Speichern angeben. Um mehrere Ordner für den Scope Parameter anzugeben, verwenden Sie ein Kommazeichen zwischen jedem Ordnerpfad, und schließen Sie jeden Ordnerpfad in einfache Anführungszeichen ein. Für Standardordner wie "Posteingang" oder "Gesendete Objekte" können Sie den einfachen Ordnernamen anstelle des vollständigen Ordnerspfads verwenden. Die folgenden Codezeilen stellen beispielsweise gültige Scope Parameter dar:

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;

Der Filter Parameter kann eine beliebige gültige DASL-Abfrage sein. Weitere Informationen über DASL-Abfragen finden Sie unter Filtern von Elementen und Verweisen auf Eigenschaften mithilfe von Namespaces. Beachten Sie, dass Sie keine JET-Abfrage für den Filter Parameter der erweiterten Suche verwenden können. Wenn die Sofortsuche in einem Speicher aktiviert ist, der einen im Parameter angegebenen Ordner enthält, können Sie Schlüsselwörter für die Scope Sofortsuche verwenden, um die Leistung Ihrer Suche zu verbessern. Wenn Sie Sofortsuche-Schlüsselwörter verwenden und die Sofortsuche nicht aktiviert ist, gibt Outlook einen Fehler zurück und die Suche schlägt fehl.

Gilt für: