Note: The other languages of the website are Google-translated. Back to English

如何批量刪除Outlook中的所有空文件夾?

假設Outlook中的郵件文件夾下有數十個空文件夾,通常我們可以通過右鍵單擊菜單來逐個刪除這些空文件夾。 與反复單擊右鍵相比,本文將介紹一種VBA,以快速批量刪除一個Outlook文件夾的所有空子文件夾。

使用VBA批量刪除Outlook中的所有空文件夾

Office選項卡-在Office中啟用選項卡式編輯和瀏覽,並使工作更加容易...
Kutools for Outlook-為Microsoft Outlook帶來100種強大的高級功能
  • 自動CC / BCC 根據規則發送電子郵件; 自動前進 按規則發送多封電子郵件; 自動回复 沒有交換服務器,還有更多自動功能...
  • BCC警告 -如果您的郵件地址在密件抄送列表中,則當您嘗試全部答复時顯示消息; 缺少附件時提醒,還有更多提醒功能...
  • 回复(全部)帶有所有附件 在郵件對話中; 一次回复許多電子郵件; 自動添加問候語 回复時自動將日期和時間添加到主題中...
  • 附件工具:自動分離,全部壓縮,重命名,自動保存所有... 快速報告,計算所選郵件, 刪除重複的郵件和聯繫人...
  • 超過 100 項高級功能將 解決您的大部分問題 在 Outlook 2021 - 2010 或 Office 365 中。完整功能 60 天免費試用。

箭頭藍色右氣泡使用VBA批量刪除Outlook中的所有空文件夾

要刪除某個Outlook文件夾的所有空子文件夾,請執行以下操作:

1。 按 其他 + F11 鍵以打開“ Microsoft Visual Basic應用程序”窗口。

2。 點擊 插入 > 模塊,然後將以下VBA代碼粘貼到新的模塊窗口中。

VBA:批量刪除某些Outlook文件夾的所有空子文件夾

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。 按 F5 鍵或 按鈕以運行此VBA代碼。

4。 在彈出的“選擇文件夾”對話框中,選擇要批量刪除其空子文件夾的特定文件夾,然後單擊 OK 按鈕。 看截圖:

5。 現在出現了Kutools for Outlook對話框,並顯示了刪除了多少個空子文件夾。 點擊 OK 按鈕將其關閉。

到目前為止,已批量刪除了指定Outlook文件夾的所有子文件夾。


箭頭藍色右氣泡相關文章

在Outlook中按文件夾名稱查找文件夾(完整的文件夾路徑)


Kutools for Outlook-為Outlook帶來100個高級功能,並使工作更加輕鬆!

  • 自動CC / BCC 根據規則發送電子郵件; 自動前進 自定義多封電子郵件; 自動回复 沒有交換服務器,還有更多自動功能...
  • BCC警告 -當您嘗試全部答复時顯示消息 如果您的郵件地址在“密件抄送”列表中; 缺少附件時提醒,還有更多提醒功能...
  • 在郵件對話中回复(全部)帶有所有附件; 回复許多電子郵件 片刻之間; 自動添加問候語 回复時將日期添加到主題中...
  • 附件工具:管理所有郵件中的所有附件, 自動分離, 全部壓縮,重命名全部,保存全部...快速報告, 計算選定的郵件...
  • 強大的垃圾郵件 習俗 刪除重複的郵件和聯繫人... 使您能夠在Outlook中做得更聰明,更快和更好。
拍攝kutools前景kutools選項卡1180x121
拍攝kutools前景kutools加標籤1180x121
 
按評論排序
留言 (10)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
輝煌!!!
網站主持人對此評論進行了最小化
運行上述“運行時錯誤'-2147352567(80020009)'時出現以下錯誤無法刪除此文件夾。右鍵單擊該文件夾,然後單擊屬性以檢查您對該文件夾的權限。請參閱文件夾所有者或您的管理員更改您的權限”

腳本似乎將 1 個項目移動到已刪除的文件夾,然後出錯。
網站主持人對此評論進行了最小化
同意 - 我得到同樣的錯誤。
網站主持人對此評論進行了最小化
該腳本嘗試刪除已刪除的文件夾。
我在 xFlag = False 之後添加了一行內容:
錯誤繼續下一步
網站主持人對此評論進行了最小化
確實,添加:

在錯誤恢復下一頁

後:

Dim x Fldr As Folder '聲明子文件夾對象
xFlag = 假

它應該是這樣的:

Dim x Fldr As Folder '聲明子文件夾對象
xFlag = 假
在錯誤恢復下一頁
網站主持人對此評論進行了最小化
我遇到了像布萊恩一樣的錯誤....現在呢?
網站主持人對此評論進行了最小化
該腳本嘗試刪除已刪除的文件夾。
我在 xFlag = False 之後添加了一行內容:
錯誤繼續下一步
網站主持人對此評論進行了最小化
超級簡單而且非常有幫助。 謝謝!!
網站主持人對此評論進行了最小化
74 個空文件夾被刪除,但不幸的是還有 109 個文件夾沒有被刪除。 其他空文件夾保持不變。
網站主持人對此評論進行了最小化
這對我很有用。 謝謝你。 某些文件夾無法刪除,因為它們是 Outlook 的原生文件夾,但子文件夾效果很好。
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護