Я написал макрос, который выполняет итерацию через календарь пользователей и вносит изменения в записи, которые содержат определенные критерии.
Проблема в том, что когда календарь очень большой, это занимает много времени. Кажется, я не могу отфильтровать встречи, потому что oAppointmentItems
, кажется, хранит записи по мере их создания - это не обязательно тот же порядок, что и при запуске.
Код, который я использую, следующий:
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
За исключением удаления DoEvents
(что означает только, что Outlook выглядит заблокированным для пользователя), есть ли способ ускорить это, применив какой-то фильтр? Например, встречи, которые начинаются в будущем.