2016-05-18 5 views
0

Я был в состоянии создать повторяющееся назначение программным путем. Теперь я хотел бы улучшить его, добавив исключения. Я использовал этот сайт в качестве ссылки https://msdn.microsoft.com/en-us/library/office/ff184635.aspx, и он сломался бы на Outlook.Exception myException = newPattern.Exceptions[1];Добавление исключения к повторяющемуся списку встреч

Когда я установил точку останова и проверил Exceptions.Count, она равна нулю, если это помогает.

foreach (var exceptionOccurrence in appointment.RecurrenceRule.Exceptions) 
{ 
    Outlook.AppointmentItem myInstance = outLookPattern.GetOccurrence(exceptionOccurrence.ExceptionDate); 
    if (myInstance != null) 
    { 
     myInstance.Subject = "My Exception"; 
     myInstance.Save(); 
     Outlook.RecurrencePattern newPattern = appointmentItem.GetRecurrencePattern(); 

     var myException = newPattern.Exceptions[1]; 
     if (myException != null) 
     { 
      Outlook.AppointmentItem myNewInstance = myException.AppointmentItem; 
      myNewInstance.Start = exceptionOccurrence.Appointment.Start; 
      myNewInstance.End = exceptionOccurrence.Appointment.End; 
      myNewInstance.Save(); 
     } 
    } 
} 

ответ

1

Получить конкретный экземпляр рекуррентного, который вы хотите изменить с помощью AppointmentItem.GetRecurrencePattern().GetOccurrence() - он возвращает AppointmentItem, соответствующий это возникновение, изменять и сохранять (AppointmentItem.Save).

+0

Привет @Dmitry, любые идеи, если я хочу удалить возникновение? Вместо .Save, я сделал .Delete(), но это не добавило исключения. – Master

+0

Попробуйте Удалить, затем Сохраните родительскую встречу. –

+0

Привет @Dmitry, я попробовал Сохранить и Удалить. Это влияет на календарь Outlook, но не сохраняет исключение = ( – Master

Смежные вопросы