2011-01-10 11 views
4

Ich habe eine Reihe in Outlook mit ein paar Ausnahmen. Was ich tun möchte, ist alle Ausnahmen aus dieser Serie zu entfernen. Weiß jemand, ob es einen Weg gibt, dies zu tun? Da die Ausnahmeliste ist schreibgeschützt habe ich versucht, das Wiederholungsmuster Clearing- und alle Werte wieder anwenden sans der Ausnahmeliste wie folgt aus:Ausnahmen von einer Serie entfernen

Dim tRType As OlRecurrenceType 
Dim tRPSD As Date 
Dim tRPED As Date 
Dim tST As Date 
Dim tET As Date 
Dim tOcc As Integer 
Dim tInterval As Integer 

tRType = oAppointmentItem.GetRecurrencePattern.RecurrenceType 
tRPSD = oAppointmentItem.GetRecurrencePattern.PatternStartDate 
tRPED = oAppointmentItem.GetRecurrencePattern.PatternEndDate 
tST = oAppointmentItem.GetRecurrencePattern.startTime 
tET = oAppointmentItem.GetRecurrencePattern.endTime 
tOcc = oAppointmentItem.GetRecurrencePattern.Occurrences 
tInterval = oAppointmentItem.GetRecurrencePattern.Interval 

oAppointmentItem.ClearRecurrencePattern 
' This save throws an error. 
'oAppointmentItem.Save 

' Make this call to flip to reccurring... 
oAppointmentItem.GetRecurrencePattern 
oAppointmentItem.GetRecurrencePattern.RecurrenceType = tRType 
oAppointmentItem.GetRecurrencePattern.PatternStartDate = tRPSD 
oAppointmentItem.GetRecurrencePattern.PatternEndDate = tRPED 
oAppointmentItem.GetRecurrencePattern.startTime = tST 
oAppointmentItem.GetRecurrencePattern.endTime = tET 
oAppointmentItem.GetRecurrencePattern.Occurrences = tOcc 
oAppointmentItem.GetRecurrencePattern.Interval = tInterval 

So weit ich mit diesem Ansatz kein Glück habe. Nach dem Aufruf von ClearRecurrencePattern können alle Daten nicht mehr aktualisiert werden (oder werden nicht beibehalten), weshalb ich das Speichern versucht habe, aber es funktioniert nicht. Es muss einen besseren Weg geben und ich vermisse es einfach.

Ich habe auch daran gedacht, eine vollständige Kopie des Termins zu machen und dann löschen/neu hinzufügen, aber ich möchte das, wenn überhaupt möglich, vermeiden.

Antwort

1

Ich fand die Antwort und werde es hier posten, falls jemand es braucht. Sie können die patternendtime ändern (und ich nehme an, Startzeit), damit sie die Ausnahmeliste löscht. Der folgende Code bewirkt, dass alle Ausnahmen aus der Serie entfernt werden.

Dim tEndDate As Date 
Dim currentEndDate As Date 
Dim dateInterval As Double 
currentEndDate = oAppointmentItem.GetRecurrencePattern.PatternEndDate 
tEndDate = oAppointmentItem.GetRecurrencePattern.PatternEndDate 
' Add a year to the end date so we can force the exceptions to remove. 
DateAdd "yyyy", 1, tEndDate 
oAppointmentItem.GetRecurrencePattern.PatternEndDate = tEndDate 
oAppointmentItem.GetRecurrencePattern.PatternEndDate = currentEndDate 
+1

Es sollte beachtet werden, das löscht * alle * Ausnahmen. –