Recherche d’un rendez-vous spécifique dans une série de rendez-vous périodiques
Cet exemple montre comment renvoyer un objet AppointmentItem qui représente un rendez-vous spécifique dans une série de rendez-vous périodiques.
Exemple
Remarque
L’exemple de code suivant est un extrait de programmation d’Applications pour Microsoft Office Outlook 2007.
Pour trouver une instance d'un rendez-vous périodique qui se produit à une date et une heure particulières, utilisez la méthode GetOccurrence(DateTime) de l'objet RecurrencePattern pour renvoyer un objet AppointmentItem.
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, CheckOccurrenceExample utilise le rendez-vous périodique qui a été créé dans l’exemple de code dans Créer un rendez-vous périodique ayant un modèle hebdomadaire. Il appelle ensuite la méthode GetOccurrence pour déterminer si le rendez-vous périodique commence à la date et à l’heure spécifiées. Pour s’assurer que la procédure continue même si les informations fournies ne correspondent pas à la date et à l’heure de début d’une instance du rendez-vous périodique, l’exemple utilise un bloc try…catch. Après l’appel de la méthode GetOccurrence sur chaque rendez-vous de la série de rendez-vous périodiques, CheckOccurrenceExample teste la variable singleAppt pour déterminer si elle est définie comme référence nulle, ce qui indiquerait que la méthode a échoué et n’a pas renvoyé d’objet AppointmentItem.
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 CheckOccurrenceExample()
{
Outlook.AppointmentItem appt = Application.Session.
GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar).
Items.Find(
"[Subject]='Recurring Appointment DaysOfWeekMask Example'")
as Outlook.AppointmentItem;
if (appt != null)
{
try
{
Outlook.RecurrencePattern pattern =
appt.GetRecurrencePattern();
Outlook.AppointmentItem singleAppt =
pattern.GetOccurrence(DateTime.Parse(
"7/21/2006 2:00 PM"))
as Outlook.AppointmentItem;
if (singleAppt != null)
{
Debug.WriteLine("7/21/2006 2:00 PM occurrence found.");
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
}