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