我尝试为[Start]
使用某种范围:
var calendar = outlookApplication.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderCalendar);
if (calendar == null || calendar.Items == null)
{
return null;
}
DateTime appointmentStart = new DateTime(2013, 03, 25, 10, 0 ,0);
string filter = string.Format("[Start] > '{0}' And [Start] < '{1}'", appointmentStart.AddMinutes(-1).ToString("g"), appointmentStart.AddMinutes(+1).ToString("g") );
var calendarItems = calendar.Items.Restrict(filter);
AppointemtItem
Outlook
25.03.2013
位于10:00:00
calendar.Items.Restrict(filter);
{{1}}。所以我正在等待{{1}}
但我成了2个AppointmenItems:
正确的
还有一个从2012年4月5日起 - 从4月5日 2012 (不是2013年)开始10:30:00和结束时间10:40:00
我无法理解05.04.2012 10:30:00 - 10:40:00与
有什么关系过滤&gt; 25.03.2013 09:59和&lt; 25.03.2013 10:01?
答案 0 :(得分:2)
使用Items.IncludeRecurrences
属性 - MSDN: IncludeRecurrences Property
答案 1 :(得分:0)
2012年4月5日的AppointmentItem
是经常性的。
我不知道为什么它会在calendar.Items.Restrict(filter)
之后显示,但我的解决方案是检查IsRecurring
属性。