Přejít k hlavnímu obsahu

Jak hromadně odstranit všechny prázdné složky v aplikaci Outlook?

Autor: Kelly Naposledy změněno: 2017-07-25

Předpokládejme, že v e-mailové složce v Outlooku jsou desítky prázdných složek. Obvykle můžeme prázdné složky mazat jednu po druhé kliknutím pravým tlačítkem na nabídku. Ve srovnání s opakovaným kliknutím pravým tlačítkem tento článek představí VBA pro rychlé hromadné odstranění všech prázdných podsložek jedné složky aplikace Outlook.

Dávkově smažte všechny prázdné složky v Outlooku pomocí VBA

Karta Office – Povolte úpravy a procházení na kartách v Microsoft Office, díky čemuž bude práce hračkou
Kutools pro Outlook – Vylepšete Outlook se 100+ pokročilými funkcemi pro vynikající efektivitu
Vylepšete svůj Outlook 2021–2010 nebo Outlook 365 pomocí těchto pokročilých funkcí. Užijte si komplexní 60denní bezplatnou zkušební verzi a vylepšete svůj e-mailový zážitek!

šipka modrá pravá bublinaDávkově smažte všechny prázdné složky v Outlooku pomocí VBA

Chcete-li odebrat všechny prázdné podsložky určité složky aplikace Outlook, postupujte takto:

1. lis Další + F11 klávesy pro otevření okna Microsoft Visual Basic pro aplikace.

2, klikněte Vložit > Modula vložte pod kód VBA do nového okna modulu.

VBA: Hromadně odstraňte všechny prázdné podsložky určité složky aplikace 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. lis F5 Klíč nebo Běh tlačítko ke spuštění tohoto kódu VBA.

4. Ve vyskakovacím dialogovém okně Vybrat složku vyberte konkrétní složku, jejíž prázdné podsložky hromadně smažete, a klikněte na OK knoflík. Viz screenshot:

5. Nyní vychází dialogové okno Kutools pro Outlook a ukazuje, kolik prázdných podsložek bylo odstraněno. Klikněte na ikonu OK pro jeho zavření.

Až dosud byly všechny podsložky zadané složky aplikace Outlook již hromadně odstraněny.


šipka modrá pravá bublinaSouvisející články

Najděte složku (úplnou cestu ke složce) podle názvu složky v aplikaci Outlook


Nejlepší nástroje pro produktivitu v kanceláři

Kutools pro aplikaci Outlook - Více než 100 výkonných funkcí, které doplní váš Outlook

🤖 AI Mail Assistant: Okamžité profesionální e-maily s magií umělé inteligence – jedním kliknutím získáte geniální odpovědi, perfektní tón, vícejazyčné ovládání. Transformujte e-maily bez námahy! ...

???? Automatizace e-mailu: Mimo kancelář (k dispozici pro POP a IMAP)  /  Naplánujte odesílání e-mailů  /  Automatická kopie/skrytá kopie podle pravidel při odesílání e-mailu  /  Automatické přeposílání (pokročilá pravidla)   /  Automatické přidání pozdravu   /  Automaticky rozdělte e-maily pro více příjemců na jednotlivé zprávy ...

📨 Email management: Snadné vyvolání e-mailů  /  Blokujte podvodné e-maily podle předmětů a dalších  /  Odstranit duplicitní e-maily  /  pokročilé vyhledávání  /  Konsolidovat složky ...

📁 Přílohy ProDávkové uložení  /  Dávkové odpojení  /  Dávková komprese  /  Automaticky uložit   /  Automatické odpojení  /  Automatické komprimování ...

???? Rozhraní Magic: 😊 Více pěkných a skvělých emotikonů   /  Zvyšte produktivitu své aplikace Outlook pomocí zobrazení s kartami  /  Minimalizujte aplikaci Outlook namísto zavírání ...

???? Zázraky na jedno kliknutí: Odpovědět všem s příchozími přílohami  /   E-maily proti phishingu  /  🕘Zobrazit časové pásmo odesílatele ...

👩🏼‍🤝‍👩🏻 Kontakty a kalendář: Dávkové přidání kontaktů z vybraných e-mailů  /  Rozdělit skupinu kontaktů na jednotlivé skupiny  /  Odeberte připomenutí narozenin ...

Přes 100 Vlastnosti Očekávejte svůj průzkum! Kliknutím sem zobrazíte další informace.

Více       Stažení zdarma      Nákup
 

 

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