Share via


Verwenden der Sofortsuche zum Durchsuchen aller Ordner und aller Stores nach einem Ausdruck im Betreff

In diesem Beispiel werden mithilfe der Sofortsuche alle Ordner und alle Speicher nach einem Ausdruck im Betreff durchsucht und die gefundenen Elemente anschließend in einem Explorer-Fenster angezeigt.

Beispiel

Hinweis

Das folgende Codebeispiel ist ein Auszug aus Programming Applications für Microsoft Office Outlook 2007.

Die Sofortsuche ist ein Feature von Microsoft Outlook, mit dem durch Ausgeben von Abfragen, die Ergebnisse basierend auf dem Inhalt zurückgeben, Suchvorgänge ausführen können. Nachdem die Abfrage verarbeitet wurde, können die Ergebnisse in einer Vielzahl von Objekten zurückgegeben werden, einschließlich des Table-Objekts, der Items-Auflistung und des Search-Objekts. Sie können Code mithilfe der Advanced Query Syntax (AQS), die von der Microsoft Windows-Desktopsuche angeboten wird, Code schreiben, der die Sofortsuche verwendet. AQS ist eine der drei Abfragesprachen, die Outlook unterstützt. Sie ist leistungsstark, aber beschränkt auf die Search(String, OlSearchScope)-Methode des Explorer-Objekts. Sie können AQS nicht verwenden, um eine Einschränkung für Table- oder Item-Objekte bereitzustellen. Außerdem können die von einer AQS-Abfrage zurückgegebenen Ergebnisse nur in der Outlook-Benutzeroberfläche zurückgegeben werden. In der folgenden Tabelle sind die drei Abfragesprachen aufgeführt, die Outlook unterstützt. In diesem Thema wird jedoch nur die Verwendung von AQS veranschaulicht.

Abfragesprache

Beschreibung

AQS

AQS wird von der Windows-Desktopsuche verwendet und ist die Abfragesprache für das Feature Sofortsuche in Outlook.

DASL

Die Abfragesprache DAV Search and Locating (DASL) basiert auf der Microsoft Exchange-Implementierung von DASL in Outlook. Mit DASL können Ergebnisse im Table-Objekt zurückgegeben werden.

Jet

Die Abfragesprache Jet stellt eine einfache Abfragesprache für Outlook dar und baut auf dem Microsoft Jet-Ausdrucksdienst auf. Mit Jet werden Filterzeichenfolgen für die Restrict-Methoden der Items-Auflistung und des Table-Objekts erstellt.

Im folgenden Codebeispiel ruft DemoInstantSearch mithilfe der IsInstantSearchEnabled-Eigenschaft des Store-Objekts alle E-Mail-Ordner in allen Speichern ab, in denen die Indizierung aktiviert ist. Anschließend wird mit der Search-Methode des Explorer-Objekts nach allen Elementen gefiltert, die den genauen Ausdruck "Office 2007" im Betreff enthalten und die im letzten Monat empfangen wurden. Die Ergebnisse der Suche werden schließlich in einem separaten Explorerfenster angezeigt.

Wenn Sie Visual Studio verwenden, um dieses Codebeispiel zu testen, müssen Sie der Microsoft Outlook 15.0-Objektbibliothekkomponente zuerst einen Verweis hinzufügen und die Outlook-Variable angeben, wenn Sie den Microsoft.Office.Interop.Outlook-Namespace importieren. Die using-Anweisung darf im Codebeispiel nicht direkt vor den Funktionen stehen, sondern muss vor der öffentlichen Class-Deklaration hinzugefügt werden. Die folgende Codezeile zeigt, wie Sie den Import und die Zuweisung in C# vornehmen.

using Outlook = Microsoft.Office.Interop.Outlook;
private void DemoInstantSearch()
{
    if (Application.Session.DefaultStore.IsInstantSearchEnabled)
    {
        Outlook.Explorer explorer = Application.Explorers.Add(
            Application.Session.GetDefaultFolder(
            Outlook.OlDefaultFolders.olFolderInbox)
            as Outlook.Folder,
            Outlook.OlFolderDisplayMode.olFolderDisplayNormal);
        string filter = "subject:" +
            "\"" + "Office 2007" + "\"" +
            " received:(last month)";
        explorer.Search(filter,
            Outlook.OlSearchScope.olSearchScopeAllFolders);
        explorer.Display();
    }
}

Siehe auch