RDORecurrencePattern object
represents the pattern of incidence of recurring appointments and tasks for the
associated RDOAppointmentItem
and RDOTaskItem object.
The example below creates a new task
in the default Tasks folder and sets it to occur daily every 3 days from May 1st
2006 to May 1st 2007.
|
Derived from:
IDispatch
|
|
Properties |
|
CalendarType |
rdoCalendarType, read/write.
Returns or sets the calendar
type used by the recurrence pattern
rdoCalendarType:
ctDefault = 0x00000000;
ctGregorian = 0x00000001;
ctGregorianUS = 0x00000002;
ctJapan = 0x00000003;
ctTaiwan = 0x00000004;
ctKorea = 0x00000005;
ctHijri = 0x00000006;
ctThai = 0x00000007;
ctHebrew = 0x00000008;
ctGregorianMiddleEastFrench = 0x00000009;
ctGregorianArabic = 0x0000000A;
ctGregorianXlitEnglish = 0x0000000B;
ctGregorianXlitFrench = 0x0000000C;
ctLunarJapanese = 0x0000000E;
ctLunarChinese = 0x0000000F;
ctSaka = 0x00000010;
ctLunarKorean = 0x00000014;
|
|
DayOfMonth |
Returns or sets a Long
indicating the day of the month on which the recurring appointment or
task occurs. Read/write.
Valid only for the
olRecursMonthly and
olRecursYearly recurrence patterns. |
|
DayOfWeekMask |
Returns or sets an
rdoDaysOfWeek constant representing the mask for the days of the week on
which the recurring appointment or task occurs. Monthly and yearly
patterns are only valid for a single day. Weekly patterns are only valid
as the Or of the DayOfWeekMask. Read/write.
DayOfWeekMaskcan be one of these rdoDaysOfWeek constants.
olFriday
olMonday
olSaturday
olSunday
olThursday
olTuesday
olWednesday
|
|
Description
|
String, read/write. Returns
or sets the recurrence pattern description.
If the property is never
explicitly set, Redemption will calculate the description (localized)
based on the recurrence properties.
If the property is explicitly
set, Redemption will always use that value.
|
set Session =
CreateObject("Redemption.RDOSession")
Session.Logon
set Appt =
Session.GetDefaultFolder(olFolderCalendar).Items.Add
Appt.Subject = "Test Redemption Appointment"
Appt.Body = "Test Appt Body"
Appt.Start = #2/4/2008 1:00 PM#
Set myRecurrPatt = Appt.GetRecurrencePattern
myRecurrPatt.RecurrenceType = olRecursDaily
myRecurrPatt.Interval = 3
myRecurrPatt.Description =
"Every 3 days right on time!"
Appt.Save
|
Duration |
Returns or sets a Long
indicating the duration (in minutes) of the appointment, journal entry,
or recurrence pattern. For recurrences, this property is only valid for
appointments. Read/write.
|
|
EndTime |
Returns or sets a Date
indicating the end time for a recurrence pattern. This property is only
valid for appointments. Read/write.
|
|
EXDATE
|
string, read/write.
Returns or sets the deleted exceptions dates in the
RFC 5545 format
(also used in iCal).
Note that only deleted dates are set or returned. Modified must dates
are processes separately. |
set
Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT =
Application.Session.MAPIOBJECT
set
Appt = Session.GetDefaultFolder(olFolderCalendar).Items.Add
Appt.Subject = "Test
RRULE"
Appt.Body = "Test Appt
Body"
Appt.Start = #5/29/2023
11:30am#
Set
myRecurrPatt = Appt.GetRecurrencePattern
myRecurrPatt.RRULE
= "RRULE:FREQ=WEEKLY;COUNT=6;BYDAY=MO,TU,WE,TH"
myRecurrPatt.EXDATE = "EXDATE;TZID=""US Mountain Standard
Time"":20230530T113000,20230531T113000"
Appt.Save
|
Exceptions |
Returns the Exceptions
(RDOExceptions) collection for a specified series of recurring appointments or tasks.
|
|
FirstDayOfWeek
|
rdoDayOfWeek, read/write. Returns or sets recurrence pattern specific
first day of week (can be different from the local setting)
|
|
Instance |
Returns or sets a Long
specifying the count for which the recurrence pattern is valid for a
given interval. This property is only valid for recurrences of the
olRecursMonthNth and olRecursYearNth type and allows the definition of a
recurrence pattern that is only valid for the Nth occurrence, such as
"the 2nd Sunday in March" pattern. The count is set numerically: 1 for
the first, 2 for the second, and so on through 5 for the last. Values
greater than 5 will generate errors when the pattern is saved.
Read/write.
|
|
Interval |
Returns or sets a Long
specifying the number of units of a given recurrence type between
occurrences. For example, setting the Interval property to 2 and the
RecurrenceType property to Weekly would cause the pattern to occur every
second week. Read/write.
|
|
MonthOfYear |
Returns or sets a Long
indicating which month of the year is valid for the specified recurrence
pattern. Can be a number from 1 through 12. For example, setting this
property to 5 and the RecurrenceType property to olRecursYearly would
cause this recurrence pattern to occur every May. Read/write.
|
|
NoEndDate |
True if the recurrence
pattern has no end date. Read/write Boolean.
Setting this property to true
sets PatternEndKind property to rekNoEndDate.
Setting this property to
false sets PatternEndKind property to rekEndAfterOccurrences. |
|
Occurrences |
Returns or sets a Long
indicating the number of occurrences of the recurrence pattern. This
property allows the definition of a recurrence pattern that is only
valid for the specified number of subsequent occurrences. For example,
you can set this property to 10 for a formal training course that will
be held on the next ten Thursday evenings. Read/write.
Setting this property to any
value sets PatternEndKind property to rekEndAfterOccurrences.
|
|
PatternEndDate |
Returns or sets a Date
indicating the end date for the recurrence pattern. Read/write.
Setting this property to any
value sets PatternEndKind property to rekEndByDate.
|
|
PatternEndKind
|
rdoRecurrenceEndKind
enumeration (see below). Read/write.
Determines how the recurrence
pattern ends
rekNoEndDate (0) -
pattern has no end date. Also see NoEndDate property.
rekEndAfterOccurrences (1) - pattern ends after after the number
of occurrences determined by the Occurrences proeptty.
rekEndByDate (2) - pattern ends after the date specified by the PatternEndDate
property.
|
|
PatternStartDate |
Returns or sets a Date
indicating the start date for the recurrence pattern. Read/write.
|
|
RecurrenceType |
Returns or sets an
rdoRecurrenceType constant specifying the frequency of occurrences for
the recurrence pattern. Read/write.
RecurrenceType can be one of these rdoRecurrenceType constants.
olRecursDaily
olRecursMonthly
olRecursMonthNth
olRecursWeekly
olRecursYearly
olRecursYearNth
|
|
Regenerate |
True if the task should be
regenerated following this pass through the recurrence pattern. This
property is used to control the regeneration of the task as each
occurrence of a recurring task is completed. Read/write Boolean.
|
|
RRULE
|
string, read/write.
Returns or sets the recurrence pattern in the
RFC 5545 format
(also used in iCal).
|
set
Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT =
Application.Session.MAPIOBJECT
set
Appt = Session.GetDefaultFolder(olFolderCalendar).Items.Add
Appt.Subject = "Test
RRULE"
Appt.Body = "Test Appt
Body"
Appt.Start = #5/29/2023
11:30am#
Set
myRecurrPatt = Appt.GetRecurrencePattern
myRecurrPatt.RRULE
= "RRULE:FREQ=WEEKLY;COUNT=6;BYDAY=MO,TU,WE,TH"
myRecurrPatt.EXDATE = "EXDATE;TZID=""US Mountain Standard
Time"":20230530T113000,20230531T113000"
Appt.Save
|
StartTime |
Returns or sets a Date
indicating the start time for a given occurrence of the recurrence
pattern. This property is only valid for appointments. Read/write. |
|
|
Methods |
|
GetOccurence(Index) |
The GetOccurrence method
returns a specific instance of the RDOAppointmentItem or
RDOTaskItem object on the specified date
as an RDOMail object.
Index - either an integer (1 through Occurrences) or a Date. |
set Pattern = Appointment.GetRecurrencePattern
for i = 1 to Pattern.Occurrences
set Occur = Pattern.GetOccurence(i)
Debug.Print Occur.Start & " - " & Occur.Subject
next |
|