Partager via


Validation automatique d’une demande de réunion

Cet exemple montre comment utiliser la méthode Respond(OlMeetingResponse, Object, Object) pour accepter automatiquement une demande de réunion.

Exemple

Remarque

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

Un objet MeetingItem représente une demande d’ajout de rendez-vous, représenté par un objet AppointmentItem, au calendrier d’un destinataire. Pour répondre à une demande de réunion, utilisez la méthode GetAssociatedAppointment(Boolean) afin d’obtenir l’objet AppointmentItem associé à la demande de réunion. Ensuite, utilisez la méthode Respond(OlMeetingResponse, Object, Object) de l’objet AppointmentItem pour indiquer à l’organisateur de la réunion si elle a été acceptée, refusée ou ajoutée provisoirement au calendrier du destinataire. La méthode Respond accepte trois paramètres.

Le paramètre Response indique si la réponse est Accepter, Refuser ou Tentative. Les paramètres fNoUI et fAdditionalTextDialog sont des valeurs bool qui déterminent respectivement si une réponse sera envoyée et si l’utilisateur peut ou non modifier la réponse. Dans l’exemple de code suivant, AutoAcceptMeetingRequests énumère chaque objet MeetingItem afin d’obtenir l’objet AppointmentItem associé. AutoAcceptMeetingRequests utilise ensuite la méthode Respond avec le paramètre fNoUI défini sur true pour indiquer qu’une réponse sera envoyée automatiquement afin d’accepter la demande de réunion.

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 AutoAcceptMeetingRequests()
{
    Outlook.MeetingItem mtgResponse;
    Outlook.Folder folder = Application.Session.
        GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
        as Outlook.Folder;
    string filter = "[MessageClass] = " +
        "'IPM.Schedule.Meeting.Request'";
    Outlook.Items items = folder.Items.Restrict(filter);
    foreach (Outlook.MeetingItem request in items)
    {
        Outlook.AppointmentItem appt =
            request.GetAssociatedAppointment(true);
        if (appt != null)
        {
            mtgResponse = appt.Respond(
                Outlook.OlMeetingResponse.olMeetingAccepted,
                true, Type.Missing);
            mtgResponse.Send();
        }
    }
}

Voir aussi