Share via


Abrufen von Informationen zu direkten Mitarbeitern des Vorgesetzten des aktuellen Benutzers

In diesem Beispiel werden ggf. die Mitarbeiter des Managers des aktuellen Benutzers abgerufen und Informationen zu jedem Mitarbeiter des Managers angezeigt.

Beispiel

Hinweis

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

Im folgenden Beispiel ruft die GetManagerDirectReports-Prozedur die GetExchangeUserManager()-Methode auf, um den Manager des Benutzers abzurufen, der durch ein ExchangeUser-Objekt dargestellt wird. Wenn der aktuelle Benutzer über einen Vorgesetzten verfügt, wird GetDirectReports() aufgerufen, um eine AddressEntries-Auflistung zurückzugeben, die die Adresseinträge für alle Mitarbeiter des Managers des Benutzers darstellt. Wenn der Vorgesetzte keine direkten Mitarbeiter hat, gibt GetDirectReports eine AddressEntries-Auflistung mit der Anzahl 0 zurück. Nachdem die Mitarbeiter eines Managers abgerufen wurden, schreibt GetManagerDirectReports Informationen zu jedem Mitarbeiter des Managers in die Ablaufverfolgungslistener der Listeners-Auflistung.

Hinweis

Der angemeldeten Benutzers muss online sein, damit diese Methode eine AddressEntries-Auflistung zurückgibt; andernfalls gibt GetDirectReports einen NULL-Verweis zurück. Für Produktionscode müssen Sie testen, dass der Benutzer offline ist, indem Sie die eigenschaft _NameSpace.ExchangeConnectionMode oder die _Account.ExchangeConnectionMode-Eigenschaft für mehrere Exchange-Szenarien verwenden.

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 GetManagerDirectReports()
{
    Outlook.AddressEntry currentUser =
        Application.Session.CurrentUser.AddressEntry;
    if (currentUser.Type == "EX")
    {
        Outlook.ExchangeUser manager =
            currentUser.GetExchangeUser().GetExchangeUserManager();
        if (manager != null)
        {
            Outlook.AddressEntries addrEntries =
                manager.GetDirectReports();
            if (addrEntries != null)
            {
                foreach (Outlook.AddressEntry addrEntry
                    in addrEntries)
                {
                    Outlook.ExchangeUser exchUser =
                        addrEntry.GetExchangeUser();
                    StringBuilder sb = new StringBuilder();
                    sb.AppendLine("Name: "
                        + exchUser.Name);
                    sb.AppendLine("Title: "
                        + exchUser.JobTitle);
                    sb.AppendLine("Department: "
                        + exchUser.Department);
                    sb.AppendLine("Location: "
                        + exchUser.OfficeLocation);
                    Debug.WriteLine(sb.ToString());
                }
            }
        }
    }
}

Siehe auch