Outlook加载项AppointmentItem ::为什么它总是*一个OlRecurrenceState.olApptMaster?

时间:2015-09-18 00:16:31

标签: c# outlook outlook-addin

我试图确定修改后的AppointmentItem RecurrenceStateOlApptMasterOlApptException还是OlApptOccurence

我毫不费力地创建了定期约会,当我修改其中一个" not-first-in-series"约会它触发Modified事件处理程序,但在检查时,其RecurrenceState属性总是 OlApptMaster

第一个实例不应该是OlApptMaster,而后续实例应该是OlApptOccurenceOlApptException吗?如果它总是返回主人,我该如何获得被修改的那个?

2 个答案:

答案 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)

请记住,事件实际上并不存在(想想没有结束日期的约会)。例外作为附件存储在主约会上,而不是作为独立项目存储。因此,您可以获得实际更改的项目的更改通知 - 主要约会。