Share via


Kennzeichnen von E-Mail-Elementen von einem Vorgesetzten zur Nachverfolgung

Dieses Beispiel zeigt, wie E-Mail-Elemente gekennzeichnet werden, die vom Vorgesetzten des Benutzers zur Nachverfolgung empfangen wurden.

Beispiel

Hinweis

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

In Microsoft Outlook wird ein System zur Aufgabenkennzeichnung bereitgestellt, bei dem bestimmte Outlook-Elemente, wie E-Mail- oder Kontaktelemente, zur Nachverfolgung gekennzeichnet werden können. When you flag an Outlook item for follow-up, information about that Outlook item, along with other task-based information, is displayed on the To-Do Bar and Calendar navigation module in the Outlook user interface. The To-Do Bar is displayed as a vertical pane in a typical configuration of the Outlook explorer window. It contains a date navigator control, upcoming appointments, and items that have been flagged for follow-up. The To-Do Bar itself is not extensible, and you can set configuration options for the To-Do Bar only through the Outlook user interface. Flagging items allows to you organize and prioritize tasks and to-do items.

Das folgende Codebeispiel markiert eine Gruppe von Elementen für ein angegebenes Nachverfolgungsintervall. Das Beispiel ruft alle Elemente im Posteingang des aktuellen Benutzers ab, die von dessen Vorgesetzten stammen, indem eine DASL-Abfrage (DAV Searching and Locating) zum Filtern nach Nachrichten vom Typ „IPM.NOTE“ mit dem Namen des Vorgesetzten als Absender ausgeführt wird. Anschließend werden alle Elemente entsprechend dem OlImportance-Wert der Importance-Eigenschaft gekennzeichnet. Mithilfe der MarkAsTask(OlMarkInterval) -Methode werden alle wichtigen Elemente zur Nachverfolgung am selben Tag und alle anderen Elemente zur Nachverfolgung in der aktuellen Woche gekennzeichnet.

Hinweis

Die Importance-Eigenschaft und die MarkAsTask-Methode sind Elemente des Item-Objekts.

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 DemoTaskFlagging()
{
    const string PR_SENT_REPRESENTING_NAME =
        "http://schemas.microsoft.com/mapi/proptag/0x0042001E";
    const string PR_MESSAGE_CLASS =
        "http://schemas.microsoft.com/mapi/proptag/0x001A001E";
    Outlook.AddressEntry currentUser =
        Application.Session.CurrentUser.AddressEntry;
    if (currentUser.Type == "EX")
    {
        Outlook.ExchangeUser manager;
        try
        {
            manager = currentUser.
                GetExchangeUser().GetExchangeUserManager();
        }
        catch
        {
            Debug.WriteLine("Could not obtain user's manager.");
            return;
        }
        if (manager != null)
        {
            string displayName = manager.Name;
            string filter = "@SQL=" + "\""
                + PR_SENT_REPRESENTING_NAME + "\""
                + " = '" + displayName + "'" + " AND " + "\""
                + PR_MESSAGE_CLASS + "\"" + " = 'IPM.NOTE'";
            Outlook.Items items =
                Application.Session.GetDefaultFolder(
                Outlook.OlDefaultFolders.olFolderInbox).
                Items.Restrict(filter);
            foreach (Outlook.MailItem mail in items)
            {
                if (mail.Importance ==
                    Outlook.OlImportance.olImportanceHigh)
                {
                    mail.MarkAsTask(Outlook.OlMarkInterval.olMarkToday);
                    mail.Save();
                }
                if (mail.Importance ==
                    Outlook.OlImportance.olImportanceNormal)
                {
                    mail.MarkAsTask(Outlook.OlMarkInterval.olMarkThisWeek);
                    mail.Save();
                }
            }
        }
    }
}

Siehe auch