背景: 用Microsoft.Office.Interop.Outlook取得日曆項,然後根據業務要求篩選。 現象: 如果是定期會議,使用AppointmentItem.Start/End取得的是該定期會議初始會的時間。 比如:此會議重覆了4次,第二次開始取得的Start,仍然是初次的2020/06 ...
背景:
用Microsoft.Office.Interop.Outlook取得日曆項,然後根據業務要求篩選。
現象:
如果是定期會議,使用AppointmentItem.Start/End取得的是該定期會議初始會的時間。
比如:此會議重覆了4次,第二次開始取得的Start,仍然是初次的2020/06/20 13:00:00
①新建定期會議
②將第二次會議時間變更(改晚了一小時)
③ 使用RecurrencePattern.GetOccurrence(DateTime)方法,判斷某一天的日期+定期會議的時刻,在定期會議(模式/列表/一覽)中是否存在。
因為時間變更了(改晚了一小時),所以自然變得不存在於定期會議中了。
分析:
1,不管初回之後的會議時間是否有變更,都不影響AppointmentItem.Start/End的取值,也就是【總是取得定期會議的初回時間】。
2,使用RecurrencePattern.GetOccurrence(DateTime)方法的話,如果定期會議的其中某一次時間有變更,那麼變更後時間跟初回對不上,就取得不到了。
結論:
目前還沒有找到好方法取得定期會議,各位網友、大神請指教!!!