Перейти к основному содержанию

Как пакетно удалить все пустые папки в Outlook?

Предположим, что есть десятки пустых папок под почтовой папкой в ​​Outlook, обычно мы можем удалить пустые папки одну за другой, щелкнув меню правой кнопкой мыши. По сравнению с многократным щелчком правой кнопкой мыши в этой статье будет представлен VBA для быстрого удаления всех пустых подпапок одной папки Outlook сразу.

Пакетное удаление всех пустых папок в Outlook с помощью VBA

Вкладка «Office»: включите редактирование и просмотр с вкладками в Microsoft Office, упрощая работу
Kutools for Outlook - улучшите Outlook с помощью более 100 расширенных функций для повышения эффективности
Улучшите свой Outlook 2021–2010 или Outlook 365 с помощью этих расширенных функций. Наслаждайтесь полной 60-дневной бесплатной пробной версией и улучшите качество своей электронной почты!

стрелка синий правый пузырьПакетное удаление всех пустых папок в Outlook с помощью VBA

Чтобы удалить все пустые подпапки определенной папки 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 Ключ или Run кнопку, чтобы запустить этот код VBA.

4. Во всплывающем диалоговом окне «Выбрать папку» выберите конкретную папку, пустые подпапки которой вы будете удалять массово, и нажмите кнопку OK кнопка. Смотрите скриншот:

5. Теперь появляется диалоговое окно Kutools for Outlook и показывает, сколько пустых подпапок было удалено. Щелкните значок OK чтобы закрыть его.

До сих пор все подпапки указанной папки Outlook уже были удалены массово.


стрелка синий правый пузырьСтатьи по теме

Найти папку (полный путь к папке) по имени папки в Outlook


Лучшие инструменты для офисной работы

Kutools for Outlook - Более 100 мощных функций для улучшения вашего Outlook

🤖 Почтовый помощник с искусственным интеллектом: Мгновенные профессиональные электронные письма с помощью магии искусственного интеллекта: гениальные ответы одним щелчком мыши, идеальный тон, многоязычное владение. Преобразуйте электронную почту без особых усилий! ...

???? Автоматизация электронной почты: Нет на месте (доступно для POP и IMAP)  /  Расписание отправки писем  /  Автоматическое копирование/скрытая копия по правилам при отправке электронной почты  /  Автопересылка (расширенные правила)   /  Автоматическое добавление приветствия   /  Автоматически разделять электронные письма от нескольких получателей на отдельные сообщения ...

📨 Управление электронной почтой: Легко вспоминать электронные письма  /  Блокировка мошеннических писем от субъектов и других лиц  /  Удалить повторяющиеся электронные письма  /  Поиск  /  Объединение папок ...

📁 Вложения ProПакетное сохранение  /  Пакетное отсоединение  /  Пакетное сжатие  /  Автосохранение   /  Авто отсоединение  /  Автоматическое сжатие ...

???? Магия интерфейса: 😊Больше красивых и крутых смайлов   /  Повысьте производительность Outlook с помощью представлений с вкладками  /  Свернуть Outlook вместо закрытия ...

???? Чудеса в один клик: Ответить всем с входящими вложениями  /   Антифишинговые письма  /  🕘Показать часовой пояс отправителя ...

👩🏼‍🤝‍👩🏻 Контакты и календарь: Пакетное добавление контактов из выбранных писем  /  Разделить группу контактов на отдельные группы  /  Удалить напоминания о днях рождения ...

Более Особенности 100 Ждем вашего исследования! Нажмите здесь, чтобы узнать больше.

 

 

Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This worked great for me. Thank you. Some folders cannot be deleted as they are native to Outlook, but the sub-folders work great.
This comment was minimized by the moderator on the site
74 empty folders were deleted but unfortunately also 109 folders that were not. Other empty folders were left untouched.
This comment was minimized by the moderator on the site
Super easy and incredibly helpful. Thank you!!
This comment was minimized by the moderator on the site
I am getting the same error like Bryan.... and now?
This comment was minimized by the moderator on the site
The script tries to delete a folder that was already deleted.
I added a row after xFlag = False with this content:
on error resume next
This comment was minimized by the moderator on the site
I 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.
This comment was minimized by the moderator on the site
Agree - I get the same error.
This comment was minimized by the moderator on the site
The script tries to delete a folder that was already deleted.
I added a row after xFlag = False with this content:
on error resume next
This comment was minimized by the moderator on the site
Indeed, add:

On Error Resume Next

AFTER:

Dim x Fldr As Folder 'Declare sub folder objects
xFlag = False

It should look like this:

Dim x Fldr As Folder 'Declare sub folder objects
xFlag = False
On Error Resume Next
This comment was minimized by the moderator on the site
Brilliant!!!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations