VSTO Outlook加载项:如何检查在重复窗口中标记了哪个单选按钮?

时间:2018-05-31 08:38:14

标签: c# .net outlook-addin

我有一个VSTO Outlook加载项,我需要收集所有日历和任务项及其所有属性。这没关系,但是当我使用RecurrencePattern时会出现问题。它工作得很好,几乎可以返回我需要的所有属性,除了一个。

在“重复范围”表单中,用户可以选择在选择树状单选按钮时继续执行任务的时间。

  • 无结束日期
  • 结束后:3(例如)发生
  • 结束于:某个日期

RecurrencePattern只有第一个布尔属性 - 无结束日期。

当第一个无线电未标记时,我需要了解第二个或第三个中的哪一个被标记,但RecurrencePattern没有它们的属性。它返回出现次数和结束日期,但我需要选中已选中的单选按钮。

我想知道我可以在这些单选按钮上有一个事件,或者我可以用其他方式获取它们的布尔属性,但我找不到任何相关内容。

我不使用Ribbon或其他形式,在这种情况下我不需要使用它。

我的Outlook是2016年,.net框架是4.6.1。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

出于某种莫名其妙的原因,Outlook对象模型不会公开该信息。您可以自己解析重复发生模式blob(其格式为documented,但解析起来并不好玩),或者您可以使用Redemption及其RDORecurrencePattern。{{1}属性。假设在Outlook中选择了定期约会:

PatternEndKind

答案 1 :(得分:0)

  1. 请参阅NoEndDate

  2. 您似乎对RecurrencePattern类的Occurrences属性感兴趣,该属性返回Long表示重复发生模式的出现次数。此属性允许定义仅对指定数量的后续出现次数有效的重复模式。例如,您可以将此属性设置为10,以便在接下来的十个星期四晚上举行正式的培训课程。设置重复发生模式时,必须与其他属性协调此属性。如果设置了PatternEndDate属性或Occurrences属性,则该模式被认为是有限的,NoEndDate属性为False。如果未设置PatternEndDateOccurrences,则该模式被视为无限,NoEndDate为True。

  3. RecurrencePattern类的PatternEndDate属性返回一个Date,表示重复发生模式的结束日期。此属性是可选的,但在设置重复发生模式时必须与其他属性协调。如果设置了此属性或Occurrences属性,则该模式被视为有限,NoEndDate属性为False。如果既未设置PatternEndDate也未设置Occurrences,则该模式被视为无限,NoEndDate为True。必须在设置PatternEndDate

  4. 之前设置Interval属性