Я использую 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);
});
Обновление
У меня есть новая информация. Получил это исключение. Любая идея, как справиться с?
(я перевел с немецкого на английский; надеюсь, вы поймете;))
COM-объект типа "System .__ ComObject" не может быть
изменен на тип интерфейса
«Microsoft.Office.Interop.AppointmentItem.
Эту процедуру не удалось запустить, потому что Queryinterface-Call to
COM-компонент для интерфейса с IID
"{00063033-0000-0000-C000-000000000046}"
не удалось запустить из-за следующей ошибки:
Интерфейс не поддерживается (Исключение _HRESULT: 0x80004002 (E_NOINTERFACE)).