Outlook 2010(32 位) Windows 7(64 位)
我的系统装有 Outlook 2010(未启用缓存模式),用户收件箱下的一些子文件夹已变得非常臃肿(包含超过 50000 条消息)。我想尽可能高效地清除这些邮件(同时保留目录名称/位置本身)。
如果我右键单击该文件夹并选择“全部删除”,系统会提示我是否确定要将此文件夹中的所有项目移至“已删除项目”文件夹。单击“是”后,系统会显示“正在准备删除”进度条... 当进度条到达末尾时,什么也没有发生。进度条会正常关闭,但邮件仍在目录中。
还有其他方法可以做到这一点吗?
答案1
删除所有仅移动位于选定文件夹中的项目(不包括子文件夹)。为了实现所需的结果,您需要编写如下 VBA 脚本:
Private Sub CleanSubfolders(ByVal Folder As Folder)
For i = Folder.Items.Count To 1 Step -1
Folder.Items(i).Delete
Next
For Each Folder In Folder.Folders
CleanSubfolders Folder
Next
End Sub
Sub CleanFolders()
Set Folder = Session.PickFolder()
If Not Folder Is Nothing Then
CleanSubfolders Folder
End If
End Sub
运行清理文件夹宏将有效地删除所选文件夹中的所有项目(包括其所有子文件夹)。
答案2
我更喜欢@thims 的回答,因为它具体执行了与我尝试执行的任务相同的任务。话虽如此,我最近注意到永久删除邮件也会清除文件夹。
为此,请按住SHIFT
键并右键单击文件夹并选择Delete All
。 这次,用户将收到提示,询问您是否要永久删除所有邮件(而不是移至回收站)。 这有效,所以我怀疑这里的根本问题是 Outlook 在文件夹之间移动大量邮件时出现错误。