我已经编写了一个宏来迭代用户日历,并修改了对某个critera有用的条目.
问题是,当日历非常大时,这需要很长时间.我似乎无法过滤约会,因为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
Run Code Online (Sandbox Code Playgroud)
没有删除DoEvents(这只意味着Outlook似乎锁定用户)有什么办法可以通过应用某种过滤器加快速度?例如,将来开始的约会.
我在Outlook中有以下宏来清除我删除的文件夹.它奇怪,因为它似乎没有删除所有条目.我必须运行这几次才能清除已删除的项目文件夹.(通常2或3次).每次文件夹中删除的项目数量确实减少但我不明白为什么一切都不会在第一次被删除.
这是我的代码; 哪里不对了?
Public Sub EmptyDeletedEmailFolder()
Dim outApp As Outlook.Application
Dim deletedFolder As Outlook.MAPIFolder
Dim item As Object
Dim entryID As String
Set outApp = CreateObject("outlook.application")
Set deletedFolder = outApp.GetNamespace("MAPI").GetDefaultFolder(olFolderDeletedItems)
For Each item In deletedFolder.Items
item.Delete ' Delete from mail folder
Next
Set item = Nothing
Set deletedFolder = Nothing
Set outApp = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)