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

Як пакетно видалити всі порожні папки в Outlook?

Припустимо, що в поштовій папці в Outlook є десятки порожніх папок, як правило, ми можемо видаляти порожні папки по одній, клацнувши правою кнопкою миші. Порівняно з повторним натисканням правої кнопки миші, у цій статті буде представлено VBA для швидкого видалення всіх порожніх вкладених папок однієї папки Outlook.

Пакетне видалення всіх порожніх папок в Outlook за допомогою VBA

Вкладка Office - увімкніть редагування та перегляд вкладок в Office та значно спростіть роботу ...
Kutools для Outlook - приносить 100 потужних розширених функцій для Microsoft Outlook
  • Авто CC / BCC за правилами при відправці електронної пошти; Автоматичне пересилання вперед Кілька електронних листів за правилами; Автовідповідь без сервера обміну та більше автоматичних функцій ...
  • Попередження BCC - показувати повідомлення, коли ви намагаєтесь відповісти всім, якщо ваша поштова адреса є у списку BCC; Нагадати про відсутність вкладеньта інші функції нагадування ...
  • Відповісти (Усі) з усіма вкладеннями у поштовій розмові; Відповідайте на багато електронних листів одночасно; Автоматично додавати привітання при відповіді; Автоматичне додавання дати та часу до теми ...
  • Інструменти кріплення: Автоматичне від'єднання, стиснення всіх, перейменування всіх, автоматичне збереження всіх ... Швидкий звіт, Підрахувати вибрані листи, Видалення повторюваних листів та контактів ...
  • Більше 100 вдосконалених функцій вирішити більшість своїх проблем в Outlook 2021 - 2010 або Office 365. 60-денна безкоштовна пробна версія повних функцій.

стрілка синя права міхурПакетне видалення всіх порожніх папок в Outlook за допомогою VBA

Щоб видалити всі порожні вкладені папки певної папки Outlook, виконайте такі дії:

1. Прес інший + F11 клавіші, щоб відкрити вікно Microsoft Visual Basic for Applications.

2. Клацання Insert > Модуліта вставте нижче коду 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 для Outlook, яке показує, скільки порожніх підпапок було видалено. Клацніть на OK , щоб закрити його.

До цього часу всі вкладені папки вказаної папки Outlook уже були видалені груповим способом.


стрілка синя права міхурСтатті по темі

Знайдіть папку (повний шлях до папки) за назвою папки в Outlook


Kutools для Outlook - приносить 100 розширених функцій для Outlook і значно полегшує роботу!

  • Авто CC / BCC за правилами при відправці електронної пошти; Автоматичне пересилання вперед Кілька електронних листів на замовлення; Автовідповідь без сервера обміну та більше автоматичних функцій ...
  • Попередження BCC - показати повідомлення при спробі відповісти всім якщо ваша поштова адреса є у списку BCC; Нагадати про відсутність вкладеньта інші функції нагадування ...
  • Відповісти (Усі) з усіма вкладеннями в поштовій розмові; Відповісти на багато електронних листів за секунди; Автоматично додавати привітання при відповіді; Додати дату в тему ...
  • Інструменти вкладення: Керування всіма вкладеннями у всіх листах, Автоматичне від'єднання, Стиснути все, Перейменувати все, Зберегти все ... Швидкий звіт, Підрахувати вибрані листи...
  • Потужні небажані електронні листи за звичаєм; Видаліть повторювані листи та контакти... Дозвольте вам робити розумніші, швидші та кращі в Outlook.
постріл kutools outlook kutools вкладка 1180x121
постріл kutools outlook kutools плюс вкладка 1180x121
 
Коментарі (10)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Блискуче !!!
Цей коментар був мінімізований модератором на сайті
Я отримую таку помилку, коли запускаю наведену вище "Помилка під час виконання '-2147352567 (80020009)" Не вдається видалити цю папку. Клацніть папку правою кнопкою миші та виберіть властивості, щоб перевірити свої дозволи для папки. Перегляньте власника папки або ваш адміністратор, щоб змінити ваші дозволи"

Здається, сценарій переміщує 1 елемент у видалену папку, а потім видаляє помилки.
Цей коментар був мінімізований модератором на сайті
Згоден - я отримую ту саму помилку.
Цей коментар був мінімізований модератором на сайті
Сценарій намагається видалити папку, яка вже була видалена.
Я додав рядок після xFlag = False з таким вмістом:
при помилці продовжити далі
Цей коментар був мінімізований модератором на сайті
Справді, додати:

On Error Resume Next

ПІСЛЯ:

Dim x Fldr As Folder 'Оголосити об'єкти підпапки
xFlag = Неправда

Це має виглядати так:

Dim x Fldr As Folder 'Оголосити об'єкти підпапки
xFlag = Неправда
On Error Resume Next
Цей коментар був мінімізований модератором на сайті
Я отримую таку ж помилку, як і Браян... а зараз?
Цей коментар був мінімізований модератором на сайті
Сценарій намагається видалити папку, яка вже була видалена.
Я додав рядок після xFlag = False з таким вмістом:
при помилці продовжити далі
Цей коментар був мінімізований модератором на сайті
Супер легко і неймовірно корисно. Дякую!!
Цей коментар був мінімізований модератором на сайті
Було видалено 74 порожні папки, але, на жаль, також 109 папок, які не були видалені. Інші порожні папки залишилися недоторканими.
Цей коментар був мінімізований модератором на сайті
Це чудово спрацювало для мене. Дякую. Деякі папки неможливо видалити, оскільки вони є рідними для Outlook, але підпапки працюють чудово.
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL