Création d’un rendez-vous périodique annuel selon une périodicité toutes les n années
Cet exemple montre comment créer un rendez-vous dont le modèle de périodicité annuelle est un jour spécifique comme le premier lundi de juin.
Exemple
Remarque
L’exemple de code suivant est un extrait de la programmation d’Applications pour Microsoft Office Outlook 2007.
Si vous voulez créer un rendez-vous annuel qui se produit un jour spécifique de la semaine d'un mois particulier (par exemple, le premier lundi de juin), vous devez utiliser des périodicités YearNth. Pour définir une périodicité YearNth, vous devez d’abord définir la propriété RecurrenceType de l’objet RecurrencePattern sur olRecursYearNth. Puis, vous définissez la propriété DayOfWeekMask pour spécifier le jour de la semaine où le rendez-vous doit avoir lieu, et la propriété Instance pour spécifier le numéro d'occurrence du jour de semaine spécifié (par exemple, le troisième jeudi) du mois spécifié pour la périodicité annuelle.
Lors de l'utilisation d'éléments de rendez-vous périodique, vous devez libérer les références antérieures, le cas échéant, obtenir les nouvelles références à l'élément de rendez-vous périodique avant d'accéder à cet é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, RecurringYearNthAppointment crée un rendez-vous ayant un modèle de périodicité YearNth. RecurringYearNthAppointment crée d’abord un rendez-vous périodique en créant un objet AppointmentItem. Ensuite, il récupère le modèle de périodicité du rendez-vous en utilisant la méthode GetRecurrencePattern(). Il définit ensuite les propriétés RecurrencePattern suivantes : RecurrenceType, DayOfWeekMask, MonthOfYear, Instance, Occurrences, Duration, PatternStartDate, StartTime et EndTime. La propriété MonthOfYear peut prendre une valeur numérique de 1 à 12, où chaque numéro représente le mois correspondant. Une fois les propriétés définies, RecurringYearNthAppointment enregistre le rendez-vous, puis l’affiche selon le schéma « A lieu le premier lundi de juin à compter du 01/06/2007 jusqu’au 06/06/2016 de 14:00 à 17: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 RecurringYearNthAppointment()
{
Outlook.AppointmentItem appt = Application.CreateItem(
Outlook.OlItemType.olAppointmentItem)
as Outlook.AppointmentItem;
appt.Subject = "Recurring YearNth Appointment";
Outlook.RecurrencePattern pattern = appt.GetRecurrencePattern();
pattern.RecurrenceType = Outlook.OlRecurrenceType.olRecursYearNth;
pattern.DayOfWeekMask = Outlook.OlDaysOfWeek.olMonday;
pattern.MonthOfYear = 6;
pattern.Instance = 1;
pattern.Occurrences = 10;
pattern.Duration = 180;
pattern.PatternStartDate = DateTime.Parse("6/1/2007");
pattern.StartTime = DateTime.Parse("2:00:00 PM");
pattern.EndTime = DateTime.Parse("5:00:00 PM");
appt.Save();
appt.Display(false);
}