C# Outlook不返回约会重复
我正在玩VSTO for Outlook 2007。C# Outlook不返回约会重复,c#,outlook,vsto,outlook-2007,appointment,C#,Outlook,Vsto,Outlook 2007,Appointment,我正在玩VSTO for Outlook 2007。 当访问日历中的约会时,我希望看到所有的重复事件,而不仅仅是序列主项 我的代码如下 var calendarFolder = Globals.TestAddin.Application.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderCalendar); var outlookCalendarItems = calendarFolder.Items; outlookC
当访问日历中的约会时,我希望看到所有的重复事件,而不仅仅是序列主项 我的代码如下
var calendarFolder = Globals.TestAddin.Application.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderCalendar);
var outlookCalendarItems = calendarFolder.Items;
outlookCalendarItems.IncludeRecurrences = includeRecurring;
var appointmentItems = outlookCalendarItems.Cast<AppointmentItem>();
foreach ( var appointmentItem in appointmentItems )
{
var item = appointmentItem;
this.LogBox.AppendText(item.Subject);
}
var calendarFolder=Globals.TestAddin.Application.GetNamespace(“MAPI”).GetDefaultFolder(OlDefaultFolders.olFolderCalendar);
var-outlookCalendarItems=calendarFolder.Items;
outlookCalendarItems.IncludeCurrences=IncludeCurrences;
var appointmentItems=outlookCalendarItems.Cast();
foreach(任命项目中的var任命项目)
{
var项目=任命项目;
此.LogBox.AppendText(item.Subject);
}
它显示所有正常项目、所有系列主项目,但不显示计算的系列约会。它显示了我母亲1949年10月的生日,这是一个重复出现的项目,但她在1950年、1951年的所有生日都没有。。。等等 我做错了什么 谢谢你的建议
Sascha添加了一行代码:
outlookCalendarItems.Sort("[Start]");
当包含日期之间没有“查找”的复发时,此代码有可能成为一个永恒的循环 这是因为它将为可以找到的每个事件创建一个“appointmentItem”。如果存在未设置定期结束日期的定期日历项目,则此循环将继续为每次事件(永远)创建“appointmentItem” 要解决此问题,您需要限制找到的结果,请参见下面的“如何限制结果”:
Set currentAppointment=MyAppoints.Find(“[Start]>=””)&_
tdystart&“和[Start]Outlook编程似乎不是很受欢迎-13天内只有16个视图:-(
Set currentAppointment = myAppointments.Find("[Start] >= """ & _
tdystart & """ and [Start] <= """ & tdyend & """")