Μετάβαση στο κύριο περιεχόμενο

Πώς να διαγράψετε μαζικά όλους τους κενούς φακέλους στο Outlook;

Ας υποθέσουμε ότι υπάρχουν δεκάδες κενοί φάκελοι κάτω από ένα φάκελο αλληλογραφίας στο Outlook, γενικά μπορούμε να διαγράψουμε τους κενούς φακέλους ένα προς ένα κάνοντας δεξί κλικ στο μενού. Σε σύγκριση με το δεξί κλικ επανειλημμένα, αυτό το άρθρο θα εισαγάγει ένα VBA για γρήγορη διαγραφή όλων των κενών υποφακέλων ενός φακέλου του Outlook μαζικά.

Μαζική διαγραφή όλων των κενών φακέλων στο Outlook με VBA

Καρτέλα Office - Ενεργοποιήστε την επεξεργασία με καρτέλες και την περιήγηση στο Microsoft Office, κάνοντας την εργασία άνετη
Kutools for Outlook - Ενισχύστε το Outlook με 100+ προηγμένες δυνατότητες για ανώτερη απόδοση
Ενισχύστε το Outlook 2021 - 2010 ή το Outlook 365 με αυτές τις προηγμένες δυνατότητες. Απολαύστε μια ολοκληρωμένη δωρεάν δοκιμή 60 ημερών και αναβαθμίστε την εμπειρία ηλεκτρονικού ταχυδρομείου σας!

βέλος μπλε δεξιά φούσκαΜαζική διαγραφή όλων των κενών φακέλων στο Outlook με VBA

Για να καταργήσετε όλους τους κενούς υποφακέλους ενός συγκεκριμένου φακέλου του Outlook, κάντε τα εξής:

1. Τύπος άλλος + F11 για να ανοίξετε το παράθυρο της Microsoft Visual Basic for Applications.

2. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε κάτω από τον κώδικα 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 for Outlook και σας δείχνει πόσους κενούς υποφακέλους έχουν διαγραφεί. Κάντε κλικ στο OK για να το κλείσετε.

Μέχρι τώρα, όλοι οι υποφάκελοι του καθορισμένου φακέλου Outlook έχουν ήδη διαγραφεί μαζικά.


βέλος μπλε δεξιά φούσκαΣχετικά άρθρα

Εύρεση φακέλου (διαδρομή πλήρους φακέλου) κατά όνομα φακέλου στο Outlook


Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

Kutools για το Outlook - Πάνω από 100 ισχυρές δυνατότητες για υπερφόρτιση του Outlook σας

📧 Αυτοματοποίηση ηλεκτρονικού ταχυδρομείου: Εκτός γραφείου (Διαθέσιμο για POP και IMAP)  /  Προγραμματισμός αποστολής email  /  Αυτόματο CC/BCC βάσει κανόνων κατά την αποστολή email  /  Αυτόματη προώθηση (Σύνθετοι κανόνες)   /  Αυτόματη προσθήκη χαιρετισμού   /  Διαχωρίστε αυτόματα τα μηνύματα ηλεκτρονικού ταχυδρομείου πολλών παραληπτών σε μεμονωμένα μηνύματα ...

📨 Διαχείριση e-mail: Εύκολη ανάκληση email  /  Αποκλεισμός απάτης email από υποκείμενα και άλλους  /  Διαγραφή διπλότυπων μηνυμάτων ηλεκτρονικού ταχυδρομείου  /  Προχωρημένη Αναζήτηση  /  Ενοποίηση φακέλων ...

📁 Συνημμένα ProΜαζική αποθήκευση  /  Αποσύνδεση παρτίδας  /  Συμπίεση παρτίδας  /  Αυτόματη αποθήκευση   /  Αυτόματη απόσπαση  /  Αυτόματη συμπίεση ...

🌟 Διασύνδεση Magic: 😊Περισσότερα όμορφα και δροσερά emojis   /  Ενισχύστε την παραγωγικότητά σας στο Outlook με προβολές με καρτέλες  /  Ελαχιστοποιήστε το Outlook αντί να κλείσετε ...

???? Με ένα κλικ Wonders: Απάντηση σε όλους με εισερχόμενα συνημμένα  /   Email κατά του phishing  /  🕘Εμφάνιση ζώνης ώρας αποστολέα ...

👩🏼‍🤝‍👩🏻 Επαφές & Ημερολόγιο: Μαζική προσθήκη επαφών από επιλεγμένα μηνύματα ηλεκτρονικού ταχυδρομείου  /  Διαχωρίστε μια ομάδα επαφής σε μεμονωμένες ομάδες  /  Κατάργηση υπενθυμίσεων γενεθλίων ...

Διανεμήθηκαν παραπάνω από 100 Χαρακτηριστικά Περιμένετε την εξερεύνηση σας! Κάντε κλικ εδώ για να ανακαλύψετε περισσότερα.

 

 

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