我试图确定修改后的AppointmentItem RecurrenceState
是OlApptMaster
,OlApptException
还是OlApptOccurence
。
我毫不费力地创建了定期约会,当我修改其中一个" not-first-in-series"约会它触发Modified
事件处理程序,但在检查时,其RecurrenceState
属性总是 OlApptMaster
。
第一个实例不应该是OlApptMaster
,而后续实例应该是OlApptOccurence
或OlApptException
吗?如果它总是返回主人,我该如何获得被修改的那个?
答案 0 :(得分:0)
请查看以下MSDN Q& A:
<强> Outlook's Handling of Recurring Appointments 强>
我引用了几点:
•通过调用GetOccurrence()得到一个事件。
•您有责任使用计算模式计算您想要的任何重复的日期/时间
•您还必须检查已删除实例和例外的Exceptions集合。如果GetOccurrence()失败,则执行此操作。
所以看起来你应该能够在异常中找到它。
Similar resource from the same author.
另请参阅working code sample(在那里下载calitem.vb
),了解他们在处理过程中如何找到并处理OlApptOccurence
。
如果您要搜索已修改的匹配项,请在“例外”中搜索。
答案 1 :(得分:0)
请记住,事件实际上并不存在(想想没有结束日期的约会)。例外作为附件存储在主约会上,而不是作为独立项目存储。因此,您可以获得实际更改的项目的更改通知 - 主要约会。