Share via


Verwenden von SetColumns zum effizienten Aufzählen von Elementen in einem Ordner

In diesem Beispiel wird gezeigt, wie Sie eine Leistungssteigerung bei der Erstellung der Items -Auflistung erzielen, indem Sie mithilfe der SetColumns(String) -Methode bestimmte Eigenschaften der einzelnen Elemente in der Auflistung zwischenspeichern.

Beispiel

Hinweis

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

Zum Aufzählen der Elemente in einer Auflistung verwenden Sie die SetColumns-Methode, um die Eigenschaften für die Items-Auflistung zwischenzuspeichern. SetColumns nimmt als Argument eine Zeichenfolge mit durch Trennzeichen getrennten Werten an, die Eigenschaftennamen darstellt. Nachdem alle Elemente in der Auflistung aufgezählt worden sind, rufen Sie die ResetColumns() -Methode auf, um den Eigenschaftencache zu leeren.

Im folgenden Codebeispiel verwendet EnumerateContactsWithSetColumns die SetColumns-Methode, um die Eigenschaften FileAs, CompanyName und JobTitle der Elemente im Ordner „Kontakte“ zwischenzuspeichern. Beachten Sie, dass Sie auf leere Zeichenfolgen oder einen NULL-Verweis in der Einschränkung testen müssen.

Ein Outlook-Ordner kann möglicherweise Elemente unterschiedlicher Typen enthalten. In diesem Codebeispiel wird die OutlookItem-Hilfsklasse verwendet, die unter Erstellen einer Hilfsklasse zum Zugriff auf allgemeine Member von Outlook-Elementen definiert ist, um die OutlookItem.Class-Eigenschaft aufzurufen, um die Nachrichtenklasse jedes Elements in der gefilterten Untergruppe von Elementen im Ordner zu prüfen, ohne anzunehmen, dass es sich bei dem Element um ein Kontaktelement handelt.

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 EnumerateContactsWithSetColumns()
{
    // Obtain Contacts folder
    Outlook.Folder folder =
        Application.Session.GetDefaultFolder(
        Outlook.OlDefaultFolders.olFolderContacts)
        as Outlook.Folder;
    string filter = "Not([CompanyName] Is Null)" +
        " AND Not([JobTitle] Is Null)";
    Outlook.Items items = folder.Items.Restrict(filter);
    items.SetColumns("FileAs, CompanyName, JobTitle");
    for (int i = 1; i <= items.Count; i++)
    {
        // Create an instance of OutlookItem
        OutlookItem myItem = new OutlookItem(items[i]);
        if (myItem.Class == Outlook.OlObjectClass.olContact)
        {
            // Use InnerObject to return ContactItem
            Outlook.ContactItem contact =
                myItem.InnerObject as Outlook.ContactItem;
            StringBuilder sb = new StringBuilder();
            sb.AppendLine(contact.FileAs);
            sb.AppendLine(contact.CompanyName);
            sb.AppendLine(contact.JobTitle);
            sb.AppendLine();
            Debug.WriteLine(sb.ToString());
        }
    }
    items.ResetColumns();
}

Siehe auch