How to batch delete all empty folders in Outlook?
Suppose there are dozens of empty folders under a mail folder in Outlook, generally we can delete the empty folders one by one by right-clicking menu. Compared to right clicking repeatedly, this article will introduce a VBA to quickly delete all empty subfolders of one Outlook folder in bulk.
To remove all empty subfolders of a certain Outlook folder, please do as follows:
1. Press Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste below VBA code into the new module window.
VBA: Delete all empty subfolders of certain Outlook folder in bulk
Public Sub DeletindEmtpyFolder() Dim xFolders As Folders Dim xCount As Long Dim xFlag As Boolean Set xFolders = Application.GetNamespace("MAPI").PickFolder.Folders Do FolderPurge xFolders, xFlag, xCount Loop Until (Not xFlag) If xCount > 0 Then MsgBox "Deleted " & xCount & "(s) empty folders", vbExclamation + vbOKOnly, "Kutools for Outlook" Else MsgBox "No empty folders found", vbExclamation + vbOKOnly, "Kutools for Outlook" End If End Sub Public Sub FolderPurge(xFolders, xFlag, xCount) Dim I As Long Dim xFldr As Folder 'Declare sub folder objects xFlag = False If xFolders.Count > 0 Then For I = xFolders.Count To 1 Step -1 Set xFldr = xFolders.Item(I) If xFldr.Items.Count < 1 Then 'If the folder is empty check for subfolders If xFldr.Folders.Count < 1 Then 'If the folder contains not sub folders confirm deletion xFldr.Delete 'Delete the folder xFlag = True xCount = xCount + 1 Else 'Folder contains sub folders so confirm deletion FolderPurge xFldr.Folders, xFlag, xCount End If Else 'Folder contains items or (subfolders that may be empty). FolderPurge xFldr.Folders, xFlag, xCount End If Next End If End Sub
3. Press F5 Key or Run button to run this VBA code.
4. In the popping out Select Folder dialog box, please select the specific folder whose empty subfolders you will delete in bulk, and click the OK button. See screenshot:
5. Now a Kutools for Outlook dialog box comes out and shows you how many empty subfolders have been deleted. Click the OK button to close it.
Until now, all subfolders of the specified Outlook folder have been deleted in bulk already.
Recommended Productivity Tools
- Complicated and repeated operations can be done a one-time processing in seconds.
- Forward multiple emails individually with one-click, and auto forward by rules.
- Auto CC/BCC every sending email and easy for customizing rules, and auto reply without requiring exchange server.
- Powerful junk emails filter, remove duplicate emails, reply with attachment, bunch of one-click operations, and so on...
- 60-day unlimited free trial. 60-day money back guarantee. 2 years free upgrade and support. Buy once, use forever.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.· 7 months agoSuper easy and incredibly helpful. Thank you!!
To post as a guest, your comment is unpublished.
To post as a guest, your comment is unpublished.· 7 months agoI am getting the following error when run the above " Run-time error '-2147352567 (80020009)' Cannot delete this folder. Right-click the folder, and then click properties to check your permissions for the folder. See the folder owner or your administrator to change your permissions"
It appears the script moves 1 item to the deleted folder and then errors out.
To post as a guest, your comment is unpublished.· 7 months agoAgree - I get the same error.
To post as a guest, your comment is unpublished.· 2 months agoThe script tries to delete a folder that was already deleted.
I added a row after xFlag = False with this content:
on error resume next
To post as a guest, your comment is unpublished.· 9 months agoBrilliant!!!