Я работаю над надстройкой Outlook, при удалении которой я пытаюсь выполнить определенное действие. Он отлично работает со всеми назначениями, которые я уже открывал один раз. Когда встреча создается или удаляется из календаря без открытия, событие (BeforeDelete, Write) не запускается.
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
inspectors = this.Application.Inspectors;
inspectors.NewInspector +=
new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
}
void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)
{
appointmentItem = Inspector.CurrentItem as Outlook.AppointmentItem;
if (appointmentItem != null)
{
(appointmentItem as Microsoft.Office.Interop.Outlook.ItemEvents_10_Event).Send += _appointment_Send;
(appointmentItem as Microsoft.Office.Interop.Outlook.ItemEvents_10_Event).BeforeDelete += _appointment_Delete;
(appointmentItem as Microsoft.Office.Interop.Outlook.ItemEvents_10_Event).Write += _appointment_Write;
(appointmentItem as Microsoft.Office.Interop.Outlook.ItemEvents_10_Event).Open += _appointment_Open;
(appointmentItem as Microsoft.Office.Interop.Outlook.ItemEvents_10_Event).Close += _appointment_Close;
}
}
Я предполагаю, что объяснение заключается в том, что инспекторы фактов прикрепляются только тогда, когда встреча открыта, и что путь, по которому следует идти, больше похож на описанный здесь, но я не уверен. Приведенный выше код работает как шарм, за исключением конкретного случая, когда встреча не открывается перед удалением или созданием.
Будем очень признательны за любое руководство.