Partager via


Vérification de la réponse d’un manager à une demande de réunion

Cet exemple montre comment utiliser les méthodes GetExchangeUser() et GetExchangeUserManager() pour vérifier l'état de la réponse du responsable de l'utilisateur actuel à une demande de réunion.

Exemple

Remarque

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

Pour déterminer si un destinataire donné a accepté ou refusé une demande de réunion, utilisez la propriété MeetingResponseStatus de l'objet Recipient de la collection Recipients associée à l'objet AppointmentItem .

Dans l’exemple de code suivant, CheckManagerResponseStatus accepte un objet AppointmentItem en tant que paramètre. CheckManagerResponseStatus récupère l’objet ExchangeUser en appelant la méthode GetExchangeUser de l’utilisateur actuel. CheckManagerResponseStatus récupère ensuite l’objet ExchangeUser associé au responsable de l’utilisateur actuel en appelant la méthode GetExchangeUserManager. En utilisant la méthode CompareEntryIDs(String, String) de l’objet NameSpace, l’exemple vérifie ensuite si l’objet Recipient associé à l’objet AppointmentItem est le même que l’objet ExchangeUser qui représente le responsable de l’utilisateur. Si CompareEntryIDs renvoie true, le responsable de l’utilisateur se trouve dans la collection Recipients et CheckManagerResponseStatus renvoie l’élément MeetingResponseStatus du responsable. Si CompareEntryIDs renvoie false, CheckManagerResponseStatus renvoie une référence NULL.

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 Object CheckManagerResponseStatus(Outlook.AppointmentItem appt)
{
    try
    {
        if (appt == null)
        {
            throw new ArgumentNullException();
        }
        Outlook.AddressEntry user =
            Application.Session.CurrentUser.AddressEntry;
        Outlook.ExchangeUser userEx = user.GetExchangeUser();
        if (userEx == null)
        {
            return null;
        }
        Outlook.ExchangeUser manager =
            userEx.GetExchangeUserManager();
        if (manager == null)
        {
            return null;
        }
        foreach (Outlook.Recipient recip in appt.Recipients)
        {
            if (Application.Session.CompareEntryIDs(
                recip.AddressEntry.ID, manager.ID))
            {
                return recip.MeetingResponseStatus;
            }
        }
        return null;
    }
    catch (Exception ex)
    {
        Debug.WriteLine(ex.Message);
        return null;
    }
}

Voir aussi