【发布时间】:2010-07-12 11:45:20
【问题描述】:
我正在使用 Outlook-Interop 从不同的日历中读取一些事件并将它们显示在大屏幕上。在我的机器上一切正常(Outlook 2010,Win7 x64),但在客户的电脑(Outlook2003,Win XP)上,程序找不到所有约会。如果我添加一些用于调试的复选框,该工具会发现 8 到 12 个约会(它应该找到 12 个)而不总是 6 个。我不知道出了什么问题,所以请帮帮我。
代码如下:
this.Appointments = new List<AppointmentItem>();
foreach (MAPIFolder folder in this.SelectedCalendars)
{
foreach (object app in folder.Items)
{
if (app is AppointmentItem && ((AppointmentItem)app).Start.Date == DateTime.Now.Date)
{
this.Appointments.Add(((AppointmentItem)app));
}
}
}
this.Appointments.Sort(
delegate(AppointmentItem App1, AppointmentItem App2)
{
return App1.Start.CompareTo(App2.Start);
});
更新
我有一些新信息。得到这个异常。知道如何处理吗?
(我从德语翻译成英语;希望你能理解;))
“System.__ComObject”类型的 COM 对象不能是 更改为接口类型 “Microsoft.Office.Interop.AppointmentItem。 此过程无法运行,因为 Queryinterface-Call 到 用于 IID 接口的 COM 组件 “{00063033-0000-0000-C000-000000000046}” 由于以下错误,无法运行: 不支持接口(异常 _HRESULT:0x80004002 (E_NOINTERFACE))。
【问题讨论】: