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

Come eliminare in batch tutte le cartelle vuote in Outlook?

Supponiamo che ci siano dozzine di cartelle vuote in una cartella di posta in Outlook, generalmente possiamo eliminare le cartelle vuote una per una facendo clic con il pulsante destro del mouse. Rispetto al clic destro ripetuto, questo articolo introdurrà un VBA per eliminare rapidamente tutte le sottocartelle vuote di una cartella di Outlook in blocco.

Batch elimina tutte le cartelle vuote in Outlook con VBA

Scheda Office: abilita la modifica a schede e la navigazione in Office e semplifica notevolmente il lavoro ...
Kutools for Outlook: porta 100 potenti funzionalità avanzate a Microsoft Outlook
  • Auto CC / BCC dalle regole durante l'invio di e-mail; Avanzamento automatico Email multiple per regole; Risposta automatica senza server di scambio e più funzioni automatiche ...
  • Avviso BCC - mostra il messaggio quando provi a rispondere a tutti se il tuo indirizzo di posta è nella lista BCC; Ricorda quando mancano allegatie altre funzioni di promemoria ...
  • Rispondi (tutti) con tutti gli allegati nella conversazione di posta; Rispondi a molte email contemporaneamente; Aggiunta automatica di saluto quando rispondi; Aggiungi automaticamente data e ora all'oggetto ...
  • Strumenti per gli allegati: Scollegamento automatico, Comprimi tutto, Rinomina tutto, Salva tutto automaticamente ... Rapporto rapido, Conta le email selezionate, Rimuovi messaggi e contatti duplicati ...
  • Più di 100 funzioni avanzate lo faranno risolvi la maggior parte dei tuoi problemi in Outlook 2010-2019 e 365. Funzionalità complete Prova gratuita di 60 giorni.

freccia blu freccia destraBatch elimina tutte le cartelle vuote in Outlook con VBA

Per rimuovere tutte le sottocartelle vuote di una determinata cartella di Outlook, eseguire le operazioni seguenti:

1. stampa altro + F11 tasti per aprire la finestra di Microsoft Visual Basic, Applications Edition.

2. Clic inserire > Moduloe incolla sotto il codice VBA nella nuova finestra del modulo.

VBA: elimina tutte le sottocartelle vuote di determinate cartelle di Outlook in blocco

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. stampa F5 Chiave o Correre pulsante per eseguire questo codice VBA.

4. Nella finestra di dialogo Seleziona cartella che si apre, selezionare la cartella specifica le cui sottocartelle vuote verranno eliminate in blocco e fare clic su OK pulsante. Vedi screenshot:

5. Ora viene visualizzata una finestra di dialogo Kutools per Outlook che mostra quante sottocartelle vuote sono state eliminate. Clicca il OK pulsante per chiuderlo.

Fino ad ora, tutte le sottocartelle della cartella di Outlook specificata sono già state eliminate in blocco.


freccia blu freccia destraArticoli Correlati

Trova la cartella (percorso completo della cartella) in base al nome della cartella in Outlook


Kutools for Outlook: porta 100 funzionalità avanzate in Outlook e semplifica notevolmente il lavoro!

  • Auto CC / BCC dalle regole durante l'invio di e-mail; Avanzamento automatico Email multiple personalizzate; Risposta automatica senza server di scambio e più funzioni automatiche ...
  • Avviso BCC - mostra il messaggio quando provi a rispondere a tutti se il tuo indirizzo e-mail è nell'elenco BCC; Ricorda quando mancano allegatie altre funzioni di promemoria ...
  • Rispondi (tutti) con tutti gli allegati nella conversazione di posta; Rispondi a molte email in secondi; Aggiunta automatica di saluto quando rispondi; Aggiungi la data all'oggetto ...
  • Strumenti per gli allegati: gestisci tutti gli allegati in tutti i messaggi, Scollegamento automatico, Comprimi tutto, Rinomina tutto, Salva tutto... Rapporto rapido, Conta le email selezionate...
  • E-mail spazzatura potenti per abitudine; Rimuovi messaggi e contatti duplicati... Consentono di fare in modo più intelligente, veloce e migliore in Outlook.
girato kutools outlook scheda kutools 1180x121
girato kutools outlook kutools plus tab 1180x121
 
Commenti (10)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Brillante!!!
Questo commento è stato fatto dal moderatore sul sito
Viene visualizzato il seguente errore quando si esegue il precedente "Errore di runtime '-2147352567 (80020009)' Impossibile eliminare questa cartella. Fare clic con il pulsante destro del mouse sulla cartella, quindi fare clic su Proprietà per verificare le autorizzazioni per la cartella. Vedere il proprietario della cartella o il tuo amministratore per modificare le tue autorizzazioni"

Sembra che lo script sposti 1 elemento nella cartella eliminata e quindi elimini gli errori.
Questo commento è stato fatto dal moderatore sul sito
Accetto - ottengo lo stesso errore.
Questo commento è stato fatto dal moderatore sul sito
Lo script tenta di eliminare una cartella che era già stata eliminata.
Ho aggiunto una riga dopo xFlag = False con questo contenuto:
in caso di errore riprendere successivo
Questo commento è stato fatto dal moderatore sul sito
Infatti aggiungi:

On Error Resume Next

DOPO:

Dim x Fldr As Folder 'Dichiara oggetti sottocartella
xFlag = Falso

Dovrebbe sembrare come questo:

Dim x Fldr As Folder 'Dichiara oggetti sottocartella
xFlag = Falso
On Error Resume Next
Questo commento è stato fatto dal moderatore sul sito
Ricevo lo stesso errore come Bryan.... e ora?
Questo commento è stato fatto dal moderatore sul sito
Lo script tenta di eliminare una cartella che era già stata eliminata.
Ho aggiunto una riga dopo xFlag = False con questo contenuto:
in caso di errore riprendere successivo
Questo commento è stato fatto dal moderatore sul sito
Super facile e incredibilmente utile. Grazie!!
Questo commento è stato fatto dal moderatore sul sito
Sono state eliminate 74 cartelle vuote ma sfortunatamente anche 109 cartelle che non lo erano. Altre cartelle vuote sono rimaste intatte.
Questo commento è stato fatto dal moderatore sul sito
Questo ha funzionato alla grande per me. Grazie. Alcune cartelle non possono essere eliminate poiché sono native di Outlook, ma le sottocartelle funzionano alla grande.
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite