我使用Outlook-Interop從不同日曆中讀取一些事件並在大屏幕上顯示它們。在我的機器上,一切正常(Outlook 2010,Win7 x64),但在客戶端的電腦上(Outlook2003,Win XP),該程序沒有找到所有約會。如果我添加了一些用於調試的複選框,可以在8到12個約會(12應該找到)之間找到並且沒有總是6.我不知道發生了什麼問題,請幫助我。Outlook Interop提供了不同的結果
下面的代碼:
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);
});
更新
我有一些新的信息。得到這個例外。任何想法如何處理?
(我從德國到英語翻譯,希望你能理解;))
The COM-Object of the type "System.__ComObject" couldn't be changed to the Interfacetype "Microsoft.Office.Interop.AppointmentItem. This procedure couldn't be run, because the Queryinterface-Call to the COM-Component for the interface with IID "{00063033-0000-0000-C000-000000000046}" couldn't be run because of the following error: Interface not supported (Exception _HRESULT:0x80004002 (E_NOINTERFACE)).
聽起來不錯。我會試一試!可能需要1-2天... – 2010-07-12 12:16:52
嗯,謝謝,但這不能解決問題。我開始認爲這可能是Outlook/Exchange的問題... – 2010-07-13 16:33:45
在2003年和2010年,folder.Items.Count的數字是否相同? – 2010-07-14 06:23:40