如果你想批量删除Outlook中所有空的子文件夹,你可以使用本文介绍的方法。 它将教您如何使用 Outlook VBA 批量删除子文件夹。
为了更好地分类和管理您的Outlook邮件,您一定在默认文件夹下创建了很多自定义子文件夹,无论是收件箱、已发送邮件还是草稿文件夹等。但是,有时,您可能会发现有些子文件夹并不常用用过的。 因此,米ost 时间,他们是空的,没有任何物品。 在这种情况下,您希望删除所有空的子文件夹。
通常,您可以右键单击此类子文件夹,然后从右键菜单中选择“删除文件夹”。 不过,如果有很多空的子文件夹,一一删除还是比较麻烦的。 因此,您必须渴望一个提示,可以将它们全部删除。 虽然 Outlook 没有提供这样的功能,但您仍然可以使用 VBA 代码快速实现它。 下面,我们将向您展示详细的步骤和代码。
批量删除所有空子文件夹
- 首先,start 您的 Outlook 程序。
- 然后在 Outlook 主窗口中按“Alt + F11”键按钮。
- 接下来在“Microsoft Visual Basic for Applications”窗口中,打开一个未使用的模块。
- 随后,将以下 VBA 代码复制并粘贴到该模块中。
Public Sub GetAllSubfolders()
Dim objFolders As Outlook.Folders
Dim objFolder As Outlook.Folder
Dim i As Long
On Error Resume Next
'Change "Personal" to the name of your Outlook data file
Set objFolders = Outlook.Application.Session.Folders("Personal").Folders
For Each objFolder In objFolders
If objFolder.Folders.Count > 0 Then
For i = objFolder.Folders.Count To 1 Step -1
Call DeleteEmptyFolder(objFolder.Folders(i))
Next
End If
Next
MsgBox ("Completed!")
End Sub
Public Sub DeleteEmptyFolder(objCurrentFolder As Outlook.Folder)
Dim objSubFolder As Outlook.Folder
Dim n As Long
If objCurrentFolder.Items.Count = 0 Then
objCurrentFolder.Delete
End If
'Process the subfolders recursively
If objCurrentFolder.Folders.Count > 0 Then
For n = objCurrentFolder.Folders.Count To 1 Step -1
Set objSubFolder = objCurrentFolder.Folders(n)
Call DeleteEmptyFolder(objSubFolder)
Next
End If
End Sub
- 之后,将您的 Outlook 宏安全级别更改为低。
- 最后,您可以在当前宏窗口中按“F5”键来运行该宏。
- 立刻,您会发现所有空的子文件夹都将被删除。
检索损坏的 Outlook PST 数据
由于 Outlook 容易出错和损坏,您应该注意保护您的 Outlook PST 文件。 例如,您应该定期备份 PST 数据。 此外,为了 修复 Outlook 尽快出现问题,您必须准备一个信誉良好且功能强大的修复工具,例如 DataNumen Outlook Repair.
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 SQL Server 腐败 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

