Partager via


Création d’un rendez-vous périodique selon une périodicité hebdomadaire

Cet exemple explique comment créer un rendez-vous périodique ayant un modèle hebdomadaire (par exemple, il se produit tous les lundis, mercredis et vendredis.

Exemple

Remarque

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

Lorsque vous créez un rendez-vous périodique, la périodicité est basée sur l’heure que vous spécifiez lorsque vous créez le rendez-vous. Par exemple, si vous créez à 13h00 un rendez-vous qui se répète tous les jours, il se produit seulement à 13h00 quotidiennement. Pour changer la périodicité d’un rendez-vous, définissez les propriétés de l’objet RecurrencePattern du rendez-vous. Définissez la propriété RecurrenceType de l’objet RecurrencePattern avant de définir d’autres propriétés RecurrencePattern. Le tableau suivant indique les propriétés RecurrencePattern valides pour un RecurrenceType donné (spécifié par l’énumération OlRecurrenceType).

Valeur OlRecurrenceType

Propriétés RecurrencePattern valides

olRecursDaily

Duration, EndTime, Interval, NoEndDate, Occurrences, PatternStartDate, PatternEndDate, StartTime

olRecursWeekly

DayOfWeekMask, Duration, EndTime, Interval, NoEndDate, Occurrences, PatternStartDate, PatternEndDate, StartTime

olRecursMonthly

DayOfMonth, Duration, EndTime, Interval, NoEndDate, Occurrences, PatternStartDate, PatternEndDate, StartTime

olRecursMonthNth

DayOfWeekMask, Duration, EndTime, Interval, Instance, NoEndDate, Occurrences, PatternStartDate, PatternEndDate, StartTime

olRecursYearly

DayOfMonth, Duration, EndTime, Interval, MonthOfYear, NoEndDate, Occurrences, PatternStartDate, PatternEndDate, StartTime

olRecursYearNth

DayOfWeekMask, Duration, EndTime, Interval, Instance, NoEndDate, Occurrences, PatternStartDate, PatternEndDate, StartTime

Lorsque vous travaillez avec des éléments de rendez-vous périodiques, vous devez libérer les références antérieures, obtenir de nouvelles références à l'élément de rendez-vous périodique avant d'accéder à l'élément ou de le modifier, et libérer ces références dès que vous avez terminé et enregistré les modifications. Cette pratique s’applique à l’objet AppointmentItem périodique, ainsi qu’aux objets Exception ou RecurrencePattern. Pour publier une référence dans Visual Basic, définissez cet objet existant sur Rien. Dans C#, libérez explicitement la mémoire utilisée par cet objet.

Notez que même après avoir libéré votre référence, si vous essayez d'en obtenir une nouvelle alors qu'il existe encore une référence active (détenue par un autre complément ou par Outlook) à l'un des objets ci-dessus, votre nouvelle référence pointe encore vers une copie obsolète de l'objet. Par conséquent, il est important de libérer vos références dès que votre utilisation du rendez-vous périodique est terminée.

Dans l’exemple de code suivant, RecurringAppointmentEveryMondayWednesdayFriday crée un objet AppointmentItem, puis appelle GetRecurrencePattern() pour obtenir l’objet RecurrencePattern du rendez-vous nouvellement créé. RecurringAppointmentEveryMondayWednesdayFriday définit ensuite les propriétés RecurrenceType, DayOfWeekMask, PatternStartDate, PatternEndDate, Duration, StartTime, EndTime et Subject, enregistre le rendez-vous, puis l’affiche selon le schéma « A lieu tous les lundis, mercredis et vendredis à compter du 10/07/2006 jusqu’au 25/08/2006 de 14:00 à 15:00 ».

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 RecurringAppointmentEveryMondayWednesdayFriday()
{
    Outlook.AppointmentItem appt = Application.CreateItem(
        Outlook.OlItemType.olAppointmentItem)
        as Outlook.AppointmentItem;
    appt.Subject = "Recurring Appointment DaysOfWeekMask Example";
    Outlook.RecurrencePattern pattern = appt.GetRecurrencePattern();
    pattern.RecurrenceType = Outlook.OlRecurrenceType.olRecursWeekly;
    // Logical OR for DayOfWeekMask creates pattern
    pattern.DayOfWeekMask = Outlook.OlDaysOfWeek.olMonday |
        Outlook.OlDaysOfWeek.olWednesday |
        Outlook.OlDaysOfWeek.olFriday;
    pattern.PatternStartDate = DateTime.Parse("7/10/2006");
    pattern.PatternEndDate = DateTime.Parse("8/25/2006");
    pattern.Duration = 60;
    pattern.StartTime = DateTime.Parse("2:00:00 PM");
    pattern.EndTime = DateTime.Parse("3:00:00 PM");
    appt.Save();
    appt.Display(false);
}

Voir aussi