Standardmäßig können Sie eine Regel jeweils nur in einem Ordner ausführen. In diesem Artikel erfahren Sie, wie Sie einen Teil des VBA-Codes verwenden, um eine bestimmte Regel in allen E-Mail-Ordnern auszuführen.
In Outlook können Benutzer Regeln manuell ausführen. Sie können einfach auf das Dialogfeld "Regeln und Warnungen" zugreifen und auf die Schaltfläche "Regeln jetzt ausführen" klicken. Wählen Sie im nachfolgenden Dialogfeld eine bestimmte Regel aus und wählen Sie einen Ordner aus, in dem Sie diese Regel ausführen möchten. Wenn Sie jedoch schnell eine Regel in allen E-Mail-Ordnern ausführen möchten, können Sie den folgenden VBA-Code verwenden.

Führen Sie schnell eine bestimmte Regel in allen E-Mail-Ordnern aus
- Erstens start Ihr Outlook-Programm.
- Drücken Sie dann im Outlook-Hauptfenster die Tasten „Alt + F11“.
- Als nächstes sollten Sie im neuen Fenster "Microsoft Visual Basic für Anwendungen" ein nicht verwendetes Modul öffnen.
- Kopieren Sie anschließend den folgenden VBA-Code in dieses Modulfenster. Außerdem sollten Sie einige Zeilen basierend auf Ihrem eigenen Fall ändern, z. B. den Regelnamen.
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
- Danach sollten Sie Ihre Outlook-Makroeinstellungen überprüfen und sicherstellen, dass Makros zulässig sind.
- Schließlich können Sie es versuchen.
- Klicken Sie einfach in die Unterroutine "RunSpecificRule_AllMailFolders".
- Drücken Sie dann die Taste F5, um diesen Code auszulösen.
- Als nächstes wird das Makro sofort ausgeführt.
- Nach Abschluss erhalten Sie eine Nachricht wie den folgenden Screenshot. Es bezieht sich auf die Regel ist beendet.
Achten Sie auf bösartige Makros
Wie wir alle wissen, sind böswillige E-Mails immer häufiger geworden. Solche E-Mails enthalten häufig schädliche Makros. Wenn Sie also die Sicherheitsstufe Ihres Outlook-Makros auf niedrig einstellen, müssen Sie sich vor versteckten Viren und Malware hüten. Darüber hinaus ist es ratsam, ein leistungsstarkes PST-Fix-Tool wie z DataNumen Outlook Repair. Es ist in der Lage PST reparieren Datei und extrahieren Sie maximale Daten für Sie, ohne ins Schwitzen zu geraten.
Einführung des Autors:
Shirley Zhang ist eine Datenrettungsexpertin in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich mdf wiederherstellen und Outlook-Reparatursoftwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX

