Jak zmodyfikować właściwości (strefę czasową) cyklicznych spotkań w programie Outlook 2010 VBA

Piszę nową i poprawioną wersję makra VBA Outlook, która przejdzie przez wszystkie spotkania w kalendarzu użytkownika i zmieni strefę czasową każdej cyklicznej serii na Central Standard. Jednak bez względu na to, co robię, nie wydaje mi się, aby prawidłowo uzyskiwał dostęp do powtarzania. Obecnie, gdy debuguję makro, nie powiedzie się po pierwszym wywołaniu wywołania ex.AppointmentItem.Subject (w instrukcji Debug.Print po zdefiniowaniu wzorca powtarzania rPattern). Główne pytanie brzmi: w jaki sposób mogę uzyskać dostęp i modyfikować całą serię cyklicznych spotkań jednocześnie? Czy mogę a) zmodyfikować spotkanie główne, b) przeglądać wszystkie spotkania w serii (które mogą nie ustawiać wszystkich przyszłych zdarzeń tak, jak tego potrzebuję), lub c) przeglądać kolekcję wyjątków i modyfikować cykl od tego momentu? Powiedziano mi, że iterowanie poprzez kolekcję wyjątków (choć mylące w nazwie) to jedyny sposób na modyfikację powtarzalności. Czy to jest poprawne?

Głęboko doceniam każdą pomoc, jaką możesz zapewnić, dzięki!

Uwaga: AItem <> Null został skomentowany jako test, z jakiegoś powodu sprawdzanie elementu Null (nawet próbował słowa Nothing) zawsze powodowało błąd.

    Public Sub IterateAll()

   Dim olApp As New Outlook.Application
   Dim aObject As Object
   Dim calCollection As Outlook.Items
   Dim tzs As Outlook.TimeZones
   Dim tzCentral As Outlook.TimeZone
   Dim tzUTC As Outlook.TimeZone
   Dim olNameSpace As Outlook.NameSpace
   Dim rPattern As Outlook.RecurrencePattern
   Dim ex As Outlook.Exception


   Dim s As Outlook.TimeZone
   Dim e As Outlook.TimeZone


   Set olNameSpace = olApp.GetNamespace("MAPI")
   Set calCollection = olNameSpace.GetDefaultFolder(olFolderCalendar).Items
   Set tzs = Application.TimeZones
   Set tzCentral = tzs("Central Standard Time")
   Set tzUTC = tzs("UTC")

   For Each aObject In calCollection

       If aObject.IsRecurring Then
           Set rPattern = aObject.GetRecurrencePattern


           Debug.Print ("Subject: " + aObject.Subject)
           Debug.Print ("Old Time Zone is " & aObject.StartTimeZone)
           aObject.StartTimeZone = tzCentral
           aObject.EndTimeZone = tzCentral
               Debug.Print ("New Time Zone is " & aObject.StartTimeZone)

           aObject.Save

        End If
       Next

    End Sub

questionAnswers(1)

yourAnswerToTheQuestion