Export (0) Print
Expand All

GetRecurrencePattern Method (AppointmentItem Object)

Exchange Server 2003

Topic Last Modified: 2004-06-09

The GetRecurrencePattern method returns a RecurrencePattern object defining the recurrence attributes of an appointment.

Set objRecurPatt = objAppointment.GetRecurrencePattern( )


On successful return, contains the RecurrencePattern object.


Required. This AppointmentItem object.

If the appointment had already been specified as recurring, the GetRecurrencePattern method returns the RecurrencePattern object containing the current recurrence characteristics. If the appointment was previously nonrecurring, it is made recurring and GetRecurrencePattern returns a new RecurrencePattern object populated with the default values indicated in its property descriptions.

The IsRecurring property is set to True when the GetRecurrencePattern method is called.

Note   You cannot use GetRecurrencePattern to test whether an appointment is recurring, because it always returns a RecurrencePattern object and forces the appointment to be recurring. Instead, you should test for recurrence using the IsRecurring property.

You can use the ClearRecurrencePattern method to return the appointment to nonrecurring status.

Calendar folders are not supported in the public folders store provided with Microsoft® Exchange, and AppointmentItem objects are stored as Message objects. An attempt to call ClearRecurrencePattern in this case returns CdoE_NO_SUPPORT.

This code fragment makes an appointment recurring and changes its Subject property. It is equally valid for a nonrecurring appointment, an appointment originating a recurring series, and an individual recurrence in that series. If objAppt is nonrecurring before executing this fragment, it becomes the originator of a recurring series. If it is already an originator, doing objOrig.Update is equivalent to doing objAppt.Update.

  Dim objAppt, objOrig As AppointmentItem
  Dim objRecPatt As RecurrencePattern
  ' objAppt can be solitary, an originator, or a recurrence
  Set objRecPatt = objAppt.GetRecurrencePattern
  With objRecPatt
        ' set recurrence pattern properties as desired
  End with
  Set objOrig = objRecPatt.Parent
  With objOrig
    .Subject = "New subject for entire recurring series"
    .Update ' necessary for any changes to take effect
  End with

Note   If objAppt in the preceding fragment is an individual recurrence, its properties are not changed by objOrig.Update. This is because changes you make in the original appointment only affect recurrences instantiated after the update. Because objAppt was already instantiated before the update, its Subject property is not updated when objOrig.Subject is. To avoid this problem, you can refresh objAppt by repeating the Set statement that instantiated it in the first place.

© 2015 Microsoft