M
Mark McGinty
I've just discovered something pretty interesting about calendar event
recurrence:
In the recurrence pattern dialog, when the "Daily" radiobutton is set, there
are 2 input choices. One allows you to enter the Interval property (i.e.,
event recurs every [n] days); the other is labeled "Every weekday."
If you choose "Every weekday" the RecurrenceType property does not get set
to olRecursDaily, as one might rationally expect. Instead it is set to
olRecursWeekly, and the DayOfWeekMask has the bits for Monday through Friday
set.
Further, the documentation regarding relevant/legal properties for objects
with RecurrenceType = olRecursDaily is a work of fiction, DayOfWeekMask is
not a valid property for this type. OOM 2000 tolerates assignment; OOM 2003
does not, it throws an error instead, even if you merely assign
DayOfWeekMask = 0.
Looking at the UI you would never know this is the case, if you group by
recurrence "every weekday" items show-up in the daily group. The only
difference I can see between a weekly recurrence pattern with Monday through
Friday checked, and a "daily->every weekday" pattern is that, in the latter,
Interval = 0 (which, if you ask me is yet another anomaly in this
implementation.)
If they're going to code-in this level of insanity, the very least they
could do is document it accurately.
-Mark
recurrence:
In the recurrence pattern dialog, when the "Daily" radiobutton is set, there
are 2 input choices. One allows you to enter the Interval property (i.e.,
event recurs every [n] days); the other is labeled "Every weekday."
If you choose "Every weekday" the RecurrenceType property does not get set
to olRecursDaily, as one might rationally expect. Instead it is set to
olRecursWeekly, and the DayOfWeekMask has the bits for Monday through Friday
set.
Further, the documentation regarding relevant/legal properties for objects
with RecurrenceType = olRecursDaily is a work of fiction, DayOfWeekMask is
not a valid property for this type. OOM 2000 tolerates assignment; OOM 2003
does not, it throws an error instead, even if you merely assign
DayOfWeekMask = 0.
Looking at the UI you would never know this is the case, if you group by
recurrence "every weekday" items show-up in the daily group. The only
difference I can see between a weekly recurrence pattern with Monday through
Friday checked, and a "daily->every weekday" pattern is that, in the latter,
Interval = 0 (which, if you ask me is yet another anomaly in this
implementation.)
If they're going to code-in this level of insanity, the very least they
could do is document it accurately.
-Mark