受信者の共有の予定表を表示するDisplay a shared calendar of a recipient

この例では、CreateRecipient(String) メソッドと GetSharedDefaultFolder(Recipient, OlDefaultFolders) メソッドを使用して、受信者の共有の予定表を表示する方法を示します。This example shows how to display a recipient's shared calendar by using the CreateRecipient(String) and GetSharedDefaultFolder(Recipient, OlDefaultFolders) methods.

Example

注意

次のコード サンプルは、『Programming Applications for Microsoft Office Outlook 2007』からの抜粋です。The following code example is an excerpt from Programming Applications for Microsoft Office Outlook 2007, from Microsoft Press http://www.microsoft.com/learning/books/default.mspx (ISBN 9780735622494, copyright Microsoft Press 2007, all rights reserved).

MailItem オブジェクトなどの送信可能なアイテムは、常に Recipients プロパティを公開します。このプロパティを使用することで、送信可能なアイテムの Recipients コレクションにアクセスできます。アイテムの Recipients コレクションにバインドされていない Recipient オブジェクトを作成するには、 NameSpace オブジェクトの CreateRecipient(String) メソッドを使用します。次に、このバインドされていない Recipient オブジェクトを GetSharedDefaultFolder(Recipient, OlDefaultFolders) メソッドに渡すと、このメソッドから共有の Exchange フォルダーが返されます。これで、共有の Exchange フォルダーを開き、エクスプローラー ウィンドウにそのフォルダーを表示することができます。 GetSharedDefaultFolder は、代理人が委任元のフォルダーへのアクセスを許可されている Exchange 代理シナリオで使用します。 Recipient オブジェクトは、 GetSharedDefaultFolder メソッドに渡す前に解決しておく必要があります。 Recipient オブジェクトを解決するには、そのオブジェクトの Resolve() メソッドを呼び出します。Sendable items such as MailItem objects always expose the Recipients property which, in turn, enables you to access the Recipients collection for the sendable item. To create a Recipient object that is not bound to the Recipients collection of an item, use the CreateRecipient(String) method of the NameSpace object. Then pass this unbound Recipient object to the GetSharedDefaultFolder(Recipient, OlDefaultFolders) method, which returns a shared Exchange folder. You can then open the shared Exchange folder and display that folder in an explorer window. GetSharedDefaultFolder is used in Exchange delegate scenarios where the delegate has permission to access the folder of the delegator. Before you pass the Recipient object to the GetSharedDefaultFolder method, you must resolve it. To resolve a Recipient object, call its Resolve() method.

次のコード例では、DisplayManagerCalendar が、CreateRecipientGetSharedDefaultFolder を呼び出して、現在のユーザーのマネージャーの予定表フォルダーを開き、表示します。ユーザーにマネージャーの予定表フォルダーを開く権限がない、またはエラーが発生すると、通知ダイアログ ボックスが表示されます。In the following code example, DisplayManagerCalendar opens and displays the Calendar folder of the current user’s manager by calling CreateRecipient and GetSharedDefaultFolder. An alert dialog box is displayed if the user does not have permission to open the manager’s Calendar folder or an error occurs.

注意

Namespace オブジェクトの CreateRecipient メソッド、または Recipients コレクションの Add(String) メソッドを使用して Recipient オブジェクトを作成する場合は、受信者の名前を提供する必要があります。When you create a Recipient object by using the CreateRecipient method of the Namespace object or the Add(String) method of the Recipients collection, you must provide a recipient name. The Recipient is then resolved against this name. A recipient name can take any of the following formats: > Display name > Alias > Simple Mail Transfer Protocol (SMTP) address Recipient は、この名前に対して解決されます。The Recipient is then resolved against this name. 受信者の名前は、次のいずれかの形式をにすることができます。A recipient name can take any of the following formats:

  • 表示名Display name
  • エイリアスAlias
  • 簡易メール転送プロトコル (SMTP) アドレスSimple Mail Transfer Protocol (SMTP) address

Visual Studio を使用してこのコード例をテストする場合、Microsoft.Office.Interop.Outlook 名前空間をインポートするときに、まず Microsoft Outlook 15.0 オブジェクト ライブラリ コンポーネントへの参照を追加し、Outlook 変数を指定します。If you use Visual Studio to test this code example, you must first add a reference to the Microsoft Outlook 15.0 Object Library component and specify the variable when you import the Microsoft.Office.Interop.Outlook namespace. using ステートメントは、コード例の関数の前に直接置くことはできません。パブリック Class 宣言の前に追加する必要があります。The using statement must not occur directly before the functions in the code example but must be added before the public declaration. 次のコード行は、C# でインポートおよび割り当てを行う方法を示しています。The following line of code shows how to do the import and assignment in C#.

using Outlook = Microsoft.Office.Interop.Outlook;
private void DisplayManagerCalendar()
{
    Outlook.AddressEntry addrEntry =
        Application.Session.CurrentUser.AddressEntry;
    if (addrEntry.Type == "EX")
    {
        Outlook.ExchangeUser manager =
            Application.Session.CurrentUser.
            AddressEntry.GetExchangeUser().GetExchangeUserManager();
        if (manager != null)
        {
            Outlook.Recipient recip =
                Application.Session.CreateRecipient(manager.Name);
            if (recip.Resolve())
            {
                try
                {
                    Outlook.Folder folder =
                        Application.Session.GetSharedDefaultFolder(
                        recip, Outlook.OlDefaultFolders.olFolderCalendar)
                        as Outlook.Folder;
                    folder.Display();
                }
                catch
                {
                    MessageBox.Show("Could not open manager's calendar.",
                        "GetSharedDefaultFolder Example",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                }
            }
        }
    }
}

関連項目See also