Partager via


Affichage du calendrier partagé d’un destinataire

Cet exemple montre comment afficher le calendrier partagé d’un destinataire à l’aide des méthodes CreateRecipient(String) et GetSharedDefaultFolder(Recipient, OlDefaultFolders).

Exemple

Remarque

L’exemple de code suivant est un extrait de programmation d’Applications pour Microsoft Office Outlook 2007.

Les éléments qui peuvent être expédiés, tels que les objets MailItem , exposent toujours la propriété Recipients qui, à son tour, vous permet d'accéder à la collection Recipients de l'élément expédiable. Pour créer un objet Recipient qui n'est pas lié à la collection Recipients d'un élément, utilisez la méthode CreateRecipient(String) de l'objet NameSpace . Passez ensuite cet objet Recipient non lié à la méthode GetSharedDefaultFolder(Recipient, OlDefaultFolders) , qui retourne un dossier Exchange partagé. Vous pouvez alors ouvrir le dossier Exchange partagé et l'afficher dans une fenêtre d'explorateur. La méthode GetSharedDefaultFolder s'utilise dans les scénarios de délégation Exchange dans lesquels le délégué est autorisé à accéder au dossier du délégateur. Avant de passer l'objet Recipient à la méthode GetSharedDefaultFolder, vous devez le résoudre. Pour résoudre un objet Recipient, appelez sa méthode Resolve() .

Dans l’exemple de code suivant, DisplayManagerCalendar ouvre et afficher le dossier Calendrier du Responsable de l’utilisateur actif en appelant CreateRecipient et GetSharedDefaultFolder. Une boîte de dialogue d’alerte s’affiche si l’utilisateur n’est pas autorisé à ouvrir le dossier Calendrier du Responsable ou si une erreur se produit.

Remarque

[!REMARQUE] Lorsque vous créez un objet Recipient à l'aide de la méthode CreateRecipient de l'objet Namespace ou de la méthode Add(String) de la collection Recipients, vous devez spécifier un nom de destinataire. L’objet Recipient est ensuite résolu par rapport à ce nom. Le nom d’un destinataire peut être dans l’un des formats suivants :

  • Nom d’affichage
  • Alias
  • Adresse SMTP (Simple Mail Transfer Protocol)

Si vous utilisez Visual Studio pour tester cet exemple de code, vous devez d’abord ajouter une référence au composant Bibliothèque d’objets Microsoft Outlook 15.0 et spécifier la variable lorsque vous importez l’espace de noms Microsoft.Office.Interop.Outlook. L’instruction using ne doit pas se produire juste avant les fonctions de l’exemple de code, mais doit être ajoutée avant la déclaration publique. La ligne de code suivante montre comment effectuer l’importation et l’affectation dans 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);
                }
            }
        }
    }
}

Voir aussi