L'itération est rapidement via Outlook éléments de rendez-vous

J'ai écrit une macro qui parcourt un utilisateurs civils et fait des modifications aux entrées de fufil un certain critère.

Le problème est que lorsque le calendrier est très grand, cela prend du temps pour le faire. Je ne semble pas être en mesure de filtrer les rendez-vous en raison oAppointmentItems semble à stocker des entrées comme ils ont été créés, ce qui n'est pas nécessairement le même ordre que lorsqu'ils commencent.

Le code que j'utilise est: est-ce

Dim oOL As New Outlook.Application
Dim oNS As Outlook.NameSpace
Dim oAppointments As Object
Dim oAppointmentItem As Outlook.AppointmentItem

Set oNS = oOL.GetNamespace("MAPI")
Set oAppointments = oNS.GetDefaultFolder(olFolderCalendar)

For Each oAppointmentItem In oAppointments.Items

    DoEvents
    ' Something here
Next

Set oAppointmentItem = Nothing
Set oAppointments = Nothing
Set oNS = Nothing
Set oOL = Nothing

Court de retrait de la DoEvents (qui signifie seulement que Outlook semble verrouiller jusqu'à l'utilisateur) est il possible que je peux accélérer les choses en appliquant un certain genre de filtre? Par exemple, les rendez-vous qui, au départ, dans l'avenir.

OriginalL'auteur Richard | 2009-12-18