次の方法で共有


現在のユーザーの上司の直属部下についての情報を取得する

この例では、現在のユーザーに上司がいる場合はその上司の直属の部下を取得し、上司の各直属部下についての情報を表示します。

注:

次のコード例は、『Programming Applications for Microsoft Office Outlook 2007』からの抜粋です。

次の例の GetManagerDirectReports プロシージャでは、GetExchangeUserManager() メソッドを呼び出して、ExchangeUser オブジェクトで表されるユーザーの上司を取得します。 現在のユーザーに上司がいる場合は、AddressEntries コレクションを返す GetDirectReports() を呼び出します。このコレクションは、ユーザーの上司のすべての直属の部下のアドレス エントリを表します。 上司に直属の部下がいない場合、GetDirectReports はカウントがゼロの AddressEntries コレクションを返します。 上司の直属の部下を取得した後、GetManagerDirectReports では上司の各直属の部下に関する情報を Listeners コレクションのトレース リスナーに書き込みます。

注:

このメソッドが AddressEntries コレクションを返すには、サインインしているユーザーがオンラインになっている必要があります。それ以外の場合、GetDirectReports は null 参照を返します。 運用コードの場合は、 _NameSpace.ExchangeConnectionMode プロパティ、または複数の Exchange シナリオで _Account.ExchangeConnectionMode プロパティを使用して、ユーザーがオフラインであることをテストする必要があります。

Visual Studio を使用してこのコード例をテストする場合、Microsoft.Office.Interop.Outlook 名前空間をインポートするときに、まず Microsoft Outlook 15.0 オブジェクト ライブラリ コンポーネントへの参照を追加し、Outlook 変数を指定します。 using ステートメントは、コード例の関数の前に直接置くことはできません。パブリッククラス宣言の前に追加する必要があります。 次のコード行は、C# でインポートおよび割り当てを行う方法を示しています。

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());
                }
            }
        }
    }
}

関連項目