【发布时间】:2020-06-21 07:23:40
【问题描述】:
我编写了一个宏,它遍历用户日历并对满足特定条件的条目进行修改。
问题是当日历很大时,这需要很长时间才能完成。我似乎无法过滤约会,因为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 似乎锁定了用户)有没有什么办法可以通过应用某种过滤器来加快速度?例如,未来开始的约会。
【问题讨论】:
标签: vba outlook calendar iteration