Passer au contenu principal

Comment supprimer par lots tous les dossiers vides dans Outlook?

Supposons qu'il y ait des dizaines de dossiers vides sous un dossier de messagerie dans Outlook, généralement nous pouvons supprimer les dossiers vides un par un en cliquant avec le bouton droit sur le menu. Par rapport au clic droit à plusieurs reprises, cet article présentera un VBA pour supprimer rapidement tous les sous-dossiers vides d'un dossier Outlook en masse.

Supprimer par lots tous les dossiers vides dans Outlook avec VBA

Onglet Office - Activez l'édition et la navigation par onglets dans Microsoft Office, ce qui facilite le travail
Kutools for Outlook - Boostez Outlook avec plus de 100 fonctionnalités avancées pour une efficacité supérieure
Boostez votre Outlook 2021 - 2010 ou Outlook 365 avec ces fonctionnalités avancées. Profitez d'un essai gratuit complet de 60 jours et améliorez votre expérience de messagerie !

flèche bleue bulle droiteSupprimer par lots tous les dossiers vides dans Outlook avec VBA

Pour supprimer tous les sous-dossiers vides d'un certain dossier Outlook, procédez comme suit:

1. presse autre + F11 touches pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2Cliquez sur insérer > Module, et collez ci-dessous le code VBA dans la nouvelle fenêtre du module.

VBA: supprimez tous les sous-dossiers vides de certains dossiers Outlook en masse

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. presse F5 Clé ou Courir bouton pour exécuter ce code VBA.

4. Dans la boîte de dialogue contextuelle Sélectionner un dossier, sélectionnez le dossier spécifique dont vous allez supprimer les sous-dossiers vides en bloc, puis cliquez sur le bouton OK bouton. Voir la capture d'écran:

5. Maintenant, une boîte de dialogue Kutools pour Outlook apparaît et vous montre combien de sous-dossiers vides ont été supprimés. Clique le OK bouton pour le fermer.

Jusqu'à présent, tous les sous-dossiers du dossier Outlook spécifié ont déjà été supprimés en masse.


flèche bleue bulle droiteArticles Relatifs

Rechercher le dossier (chemin d'accès complet au dossier) par nom de dossier dans Outlook


Meilleurs outils de productivité bureautique

Kutools for Outlook - Plus de 100 fonctionnalités puissantes pour booster votre Outlook

🤖 Assistant de messagerie IA: E-mails professionnels instantanés avec la magie de l'IA : un clic pour des réponses géniales, un ton parfait, une maîtrise multilingue. Transformez l’emailing sans effort ! ...

📧 Email Automation: Absent du bureau (disponible pour POP et IMAP)  /  Programmer l'envoi d'e-mails  /  Auto CC/BCC par règles lors de l'envoi d'un e-mail  /  Transfert automatique (règles avancées)   /  Ajouter un message d'accueil automatique   /  Divisez automatiquement les e-mails multi-destinataires en messages individuels 

(I.e. Email Management: Rappel facile des e-mails  /  Bloquer les e-mails frauduleux par sujets et autres  /  Supprimer les e-mails en double  /  Recherche Avancée  /  Consolider les dossiers 

(I.e. Pièces jointes ProSauvegarde par lots  /  Détachement par lots  /  Compression par lots  /  Enregistrement automatique   /  Détachement automatique  /  Compression automatique 

???? Magie de l'interface: 😊Plus d'émojis jolis et cool   /  Boostez votre productivité Outlook avec des vues à onglets  /  Réduire Outlook au lieu de fermer 

???? Merveilles en un clic: Répondre à tous avec les pièces jointes entrantes  /   E-mails anti-hameçonnage  /  🕘Afficher le fuseau horaire de l'expéditeur 

👩🏼‍🤝‍👩🏻 Contacts et calendrier: Ajouter par lots des contacts à partir des e-mails sélectionnés  /  Diviser un groupe de contacts en groupes individuels  /  Supprimer les rappels d'anniversaire 

infos Caractéristiques 100 Attendez votre exploration ! Cliquez ici pour en savoir plus.

 

 

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