Standaard kunt u een regel slechts in één map tegelijk uitvoeren. In dit artikel leren we u hoe u een stukje VBA-code kunt gebruiken om een specifieke regel in alle e-mailmappen uit te voeren.
Outlook staat gebruikers toe om de regel handmatig uit te voeren. U kunt gewoon het dialoogvenster "Regels en waarschuwingen" openen en op de knop "Regels nu uitvoeren" klikken. Selecteer in het volgende dialoogvenster een specifieke regel en kies een map waarin u deze regel wilt uitvoeren. Maar als u snel een regel in alle e-mailmappen wilt uitvoeren, kunt u de volgende VBA-code gebruiken.

Voer snel een specifieke regel uit in alle e-mailmappen
- In de eerste plaats, start uw Outlook-programma.
- Druk vervolgens in het hoofdvenster van Outlook op de toetsen "Alt + F11".
- Vervolgens moet u in het opkomende "Microsoft Visual Basic for Applications" -venster een niet-in-gebruik-module openen.
- Kopieer vervolgens de onderstaande VBA-code naar dit modulevenster. Bovendien moet u enkele regels wijzigen op basis van uw eigen hoofdlettergebruik, zoals de regelnaam.
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
- Daarna moet u uw Outlook-macro-instellingen controleren om ervoor te zorgen dat macro's zijn toegestaan.
- Uiteindelijk kun je het proberen.
- Klik gewoon in de "RunSpecificRule_AllMailFolders" subroutine.
- Druk vervolgens op de F5-sleutelknop om deze code te activeren.
- Vervolgens wordt de macro onmiddellijk uitgevoerd.
- Nadat het is voltooid, krijgt u een bericht, zoals de volgende schermafbeelding. Het verwijst naar de regel is afgelopen.
Pas op voor schadelijke macro's
Zoals we allemaal weten, zijn kwaadaardige e-mails steeds populairder geworden. Dergelijke e-mails bevatten vaak kwaadaardige macro's. Dus als u uw Outlook-macrobeveiligingsniveau op laag instelt, moet u op uw hoede zijn voor verborgen virussen en malware. Bovendien is het verstandig om een krachtige PST-fix-tool te bemachtigen, zoals DataNumen Outlook Repair. Het kan reparatie PST bestand en extraheer maximale gegevens voor u zonder te zweten.
Auteur Introductie:
Shirley Zhang is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder herstel mdf en Outlook-reparatiesoftwareproducten. Voor meer informatie bezoek www.datanumen.com

