我正在使用 Office 对象模型从 Outlook 中检索我的日历项目。我想使用 Restrict() 方法只获取今天的约会。我还想包括所有重复约会的单个实例(即不是所有重复 - 只是今天的那些)。
使用下面的代码,无论日期如何,我都会得到许多(但不是全部)重复项目,例如生日。我还得到了其他各种约会——但不是今天的那些。
我尝试了不同的日期格式,包括 2013-07-25 00:00:00,但没有运气。我研究了网络,并试图从 VBA 脚本中复制示例 - 不走运。
感谢其他人的任何想法。
var outlook = new Application();
var calendar = outlook.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderCalendar);
DateTime today = DateTime.Today, tomorrow = today.AddDays(1);
const string DateFormat = "dd/MM/yyyy HH:mm";
string filter = string.Format("[Start] >= '{0}' AND [Start] < '{1}'", today.ToString(DateFormat), tomorrow.ToString(DateFormat));
var todaysAppointments = calendar.Items.Restrict(filter);
// todaysAppointments.IncludeRecurrences = true;
todaysAppointments.Sort("[Start]");