Από προεπιλογή, μπορείτε να εκτελέσετε έναν κανόνα μόνο σε έναν φάκελο κάθε φορά. Σε αυτό το άρθρο, θα σας διδάξουμε πώς να χρησιμοποιήσετε ένα κομμάτι κώδικα VBA για να εκτελέσετε έναν συγκεκριμένο κανόνα σε όλους τους φακέλους αλληλογραφίας.
Το Outlook επιτρέπει στους χρήστες να εκτελούν τον κανόνα με μη αυτόματο τρόπο. Μπορείτε απλώς να αποκτήσετε πρόσβαση στο παράθυρο διαλόγου "Κανόνες και ειδοποιήσεις" και να πατήσετε το κουμπί "Εκτέλεση κανόνων τώρα". Στο επόμενο παράθυρο διαλόγου, επιλέξτε έναν συγκεκριμένο κανόνα και επιλέξτε έναν φάκελο στον οποίο θέλετε να εκτελέσετε αυτόν τον κανόνα. Ωστόσο, εάν θέλετε να εκτελέσετε γρήγορα έναν κανόνα σε όλους τους φακέλους αλληλογραφίας, μπορείτε να χρησιμοποιήσετε τον ακόλουθο κώδικα VBA.

Γρήγορη εκτέλεση ενός συγκεκριμένου κανόνα σε όλους τους φακέλους αλληλογραφίας
- Καταρχάς, starστο πρόγραμμά σας Outlook.
- Στη συνέχεια, στο κύριο παράθυρο του Outlook, πατήστε τα πλήκτρα "Alt + F11".
- Στη συνέχεια, στο αναδυόμενο παράθυρο "Microsoft Visual Basic for Applications", θα πρέπει να ανοίξετε μια λειτουργική μονάδα που δεν χρησιμοποιείται.
- Στη συνέχεια, αντιγράψτε τον παρακάτω κώδικα VBA σε αυτό το παράθυρο λειτουργικής μονάδας. Επιπλέον, θα πρέπει να αλλάξετε ορισμένες γραμμές με βάση τη δική σας περίπτωση, όπως το όνομα του κανόνα.
Sub RunSpecificRule_AllMailFolders()
Dim objStores As Outlook.Stores
Dim objStore As Outlook.Store
Dim objPSTFile As Outlook.Folder
Dim objFolders As Outlook.folders
Dim objFolder As Object
Set objStores = Outlook.Application.Session.Stores
'Process all Outlook PST files in your Outlook
For Each objStore In objStores
Set objPSTFile = objStore.GetRootFolder
For Each objFolder In objPSTFile.folders
Call ProcessFolders(objFolder)
Next
Next
MsgBox "Complete!", vbExclamation + vbOKOnly, "Run Rule "
End Sub
Sub ProcessFolders(ByVal objCurrentFolder As Outlook.Folder)
Dim objRules As Outlook.Rules
Dim objRule As Outlook.Rule
Dim objSubfolder As Outlook.Folder
Set objRules = Outlook.Application.Session.DefaultStore.GetRules
'Change the rule name as per your actual case
Set objRule = objRules.Item("Move Mails to Temp")
On Error Resume Next
'Only work on non-empty Mail folder
If objCurrentFolder.Items.count > 0 And objCurrentFolder.DefaultItemType = olMailItem Then
With objRule
.Enabled = True
.Execute ShowProgress:=True, Folder:=objCurrentFolder, IncludeSubfolders:=True
End With
End If
'Process subfolders recursively
If objCurrentFolder.folders.count > 0 Then
For Each objSubfolder In objCurrentFolder.folders
Call ProcessFolders(objSubfolder)
Next
End If
End Sub
- Μετά από αυτό, θα πρέπει να ελέγξετε τις ρυθμίσεις μακροεντολών του Outlook, διασφαλίζοντας ότι επιτρέπεται η μακροεντολή.
- Τελικά μπορείτε να δοκιμάσετε.
- Απλώς κάντε κλικ στην υπορουτίνα "RunSpecificRule_AllMailFolders".
- Στη συνέχεια, πατήστε το πλήκτρο F5 για να ενεργοποιήσετε αυτόν τον κωδικό.
- Στη συνέχεια, η μακροεντολή θα εκτελεστεί αμέσως.
- Αφού ολοκληρωθεί, θα λάβετε ένα μήνυμα, όπως το παρακάτω στιγμιότυπο οθόνης. Αναφέρεται στο ότι ο κανόνας έχει τελειώσει.
Προσέξτε για κακόβουλες μακροεντολές
Όπως όλοι γνωρίζουμε, τα κακόβουλα email γίνονται όλο και πιο ανεξέλεγκτα. Τέτοια μηνύματα ηλεκτρονικού ταχυδρομείου συχνά συνοδεύονται από κακόβουλες μακροεντολές. Επομένως, εάν ορίσετε το επίπεδο ασφάλειας μακροεντολών του Outlook σε χαμηλό, πρέπει να προσέχετε τους κρυμμένους ιούς και κακόβουλο λογισμικό. Επιπλέον, είναι συνετό να αποκτήσετε ένα ισχυρό εργαλείο επιδιόρθωσης PST, όπως π.χ DataNumen Outlook Repair. Είναι σε θέση να επισκευή PST αρχείο και εξαγωγή μέγιστων δεδομένων για εσάς χωρίς να ιδρώσετε.
Εισαγωγή συγγραφέα:
Η Shirley Zhang είναι ειδικός ανάκτησης δεδομένων στο DataNumen, Inc., η οποία είναι ο παγκόσμιος ηγέτης στις τεχνολογίες ανάκτησης δεδομένων, συμπεριλαμβανομένων ανάκτηση mdf και προϊόντα λογισμικού επισκευής προοπτικών. Για περισσότερες πληροφορίες επισκεφθείτε www.datanumen.com

