Przejdź do głównej zawartości

Jak zbiorczo usunąć wszystkie puste foldery w Outlooku?

Załóżmy, że w folderze poczty w programie Outlook znajdują się dziesiątki pustych folderów, generalnie możemy usunąć puste foldery jeden po drugim, klikając menu prawym przyciskiem myszy. W porównaniu z wielokrotnym klikaniem prawym przyciskiem myszy, ten artykuł wprowadzi VBA do szybkiego zbiorczego usuwania wszystkich pustych podfolderów jednego folderu Outlooka.

Wsadowo usuń wszystkie puste foldery w Outlooku za pomocą VBA

Office Tab - Włącz edycję i przeglądanie w kartach w pakiecie Office i znacznie uprość pracę...
Kutools for Outlook - Wprowadza 100 potężnych zaawansowanych funkcji do programu Microsoft Outlook
  • Auto CC / BCC według zasad podczas wysyłania wiadomości e-mail; Auto Forward Wiele e-maili według reguł; Automatyczna odpowiedź bez serwera Exchange i więcej funkcji automatycznych ...
  • Ostrzeżenie BCC - pokaż wiadomość, gdy próbujesz odpowiedzieć wszystkim, jeśli Twój adres e-mail znajduje się na liście BCC; Przypomnij o braku załącznikówi więcej funkcji przypominających ...
  • Odpowiedz (wszystkie) ze wszystkimi załącznikami w rozmowie mailowej; Odpowiadaj na wiele e-maili jednocześnie; Automatyczne dodawanie powitania kiedy odpowiedz; Automatyczne dodawanie daty i godziny do tematu ...
  • Narzędzia załączników: Automatyczne odłączanie, kompresowanie wszystkiego, zmiana nazwy wszystkiego, automatyczne zapisywanie wszystkiego ... Szybki raport, Policz wybrane wiadomości, Usuń zduplikowane wiadomości e-mail i kontakty ...
  • Ponad 100 zaawansowanych funkcji będzie rozwiąż większość swoich problemów w Outlook 2021 - 2010 lub Office 365. Pełne funkcje 60-dniowy bezpłatny okres próbny.

strzałka niebieski prawy bąbelekWsadowo usuń wszystkie puste foldery w Outlooku za pomocą VBA

Aby usunąć wszystkie puste podfoldery określonego folderu programu Outlook, wykonaj następujące czynności:

1. naciśnij inny + F11 klawisze, aby otworzyć okno Microsoft Visual Basic for Applications.

2, Kliknij wstawka > Modułi wklej poniższy kod VBA do nowego okna modułu.

VBA: zbiorczo usuń wszystkie puste podfoldery określonego folderu programu 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. naciśnij F5 Klawisz lub run przycisk, aby uruchomić ten kod VBA.

4. W wyświetlanym oknie dialogowym Wybierz folder wybierz konkretny folder, którego puste podfoldery usuniesz zbiorczo, i kliknij OK przycisk. Zobacz zrzut ekranu:

5. Teraz a Kutools for Outlook pojawi się okno dialogowe i pokaże, ile pustych podfolderów zostało usuniętych. Kliknij OK przycisk, aby go zamknąć.

Do tej pory wszystkie podfoldery określonego folderu programu Outlook zostały już zbiorczo usunięte.


strzałka niebieski prawy bąbelekPowiązane artykuły

Znajdź folder (pełna ścieżka do folderu) według nazwy folderu w programie Outlook


Najlepsze narzędzia biurowe

Kutools for Outlook - Ponad 100 zaawansowanych funkcji, które usprawnią Twoje perspektywy

📧 Automatyzacja poczty e-mail: Poza biurem (dostępne dla POP i IMAP)  /  Zaplanuj wysyłanie wiadomości e-mail  /  Automatyczne CC/BCC według reguł podczas wysyłania wiadomości e-mail  /  Automatyczne przewijanie (Zasady zaawansowane)   /  Automatyczne dodawanie powitania   /  Automatycznie dziel wiadomości e-mail od wielu odbiorców na pojedyncze wiadomości ...

📨 Zarządzanie e-mail: Łatwe przywoływanie e-maili  /  Blokuj oszukańcze wiadomości e-mail według tematów i innych  /  Usuń zduplikowane wiadomości e-mail  /  Wiecej opcji  /  Konsoliduj foldery ...

📁 Załączniki ProZapisz zbiorczo  /  Odłącz partię  /  Kompresuj wsadowo  /  Automatyczne zapisywanie   /  Automatyczne odłączanie  /  Automatyczna kompresja ...

🌟 Magia interfejsu: 😊Więcej ładnych i fajnych emotikonów   /  Zwiększ produktywność programu Outlook dzięki widokom na kartach  /  Zminimalizuj program Outlook zamiast go zamykać ...

>> Cuda jednym kliknięciem: Odpowiedz wszystkim, dodając przychodzące załączniki  /   E-maile chroniące przed phishingiem  /  🕘Pokaż strefę czasową nadawcy ...

👩🏼‍🤝‍👩🏻 Kontakty i kalendarz: Grupowe dodawanie kontaktów z wybranych e-maili  /  Podziel grupę kontaktów na pojedyncze grupy  /  Usuń przypomnienia o urodzinach ...

Ponad Cechy 100 Poczekaj na eksplorację! Kliknij tutaj, aby dowiedzieć się więcej.

 

 

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