Alapértelmezés szerint egyszerre csak egy mappában futtathat szabályt. Ebben a cikkben megtanítjuk, hogyan lehet egy VBA-kódot felhasználni egy adott szabály futtatására az összes levélmappában.
Az Outlook lehetővé teszi a felhasználók számára a szabály manuális futtatását. Csak elérheti a „Szabályok és figyelmeztetések” párbeszédpanelt, és megnyomhatja a „Szabályok futtatása most” gombot. A következő párbeszédpanelen válasszon ki egy adott szabályt, és válassza ki azt a mappát, amelyben futtatni kívánja ezt a szabályt. Ha azonban gyorsan szeretne szabályt futtatni az összes levélmappában, használhatja a következő VBA-kódot.

Gyorsan futtasson egy adott szabályt az összes levélmappában
- Elsősorban start az Outlook programban.
- Ezután az Outlook főablakában nyomja meg az „Alt + F11” billentyűket.
- Ezután a megjelenő „Microsoft Visual Basic for Applications” ablakban meg kell nyitnia egy használaton kívüli modult.
- Ezt követően másolja be az alábbi VBA-kódot ebbe a modulablakba. Ezenkívül módosítania kell néhány sort a saját esete alapján, például a szabály nevét.
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
- Ezt követően ellenőrizze az Outlook makró beállításait, és győződjön meg arról, hogy a makró engedélyezett.
- Végül megpróbálhatod.
- Csak kattintson a „RunSpecificRule_AllMailFolders” szubrutinra.
- Ezután nyomja meg az F5 billentyűt a kód aktiválásához.
- Ezután a makró azonnal lefut.
- Miután befejeződött, egy üzenetet kap, mint a következő képernyőkép. Ez arra utal, hogy a szabály véget ért.
Vigyázzon a rosszindulatú makrókra
Mint mindannyian tudjuk, a rosszindulatú e-mailek egyre inkább elterjedtek. Az ilyen e-mailek gyakran tartalmaznak rosszindulatú makrókat. Így, ha alacsonyra állítja az Outlook makró biztonsági szintjét, óvakodnia kell a rejtett vírusoktól és rosszindulatú programoktól. Sőt, érdemes egy erős PST-javító eszközt beszerezni, mint pl DataNumen Outlook Repair. Képes javítás PST fájlokat és a maximális adatmennyiséget kivonja Önnek anélkül, hogy izzadna.
Szerző Bevezetés:
Shirley Zhang adat-helyreállítási szakértő DataNumen, Inc., amely világelső az adat-helyreállítási technológiák területén, beleértve mdf helyreállítása és outlook javítószoftver termékek. További információért látogasson el www.datanumen.com

