Prema zadanim postavkama, pravilo možete pokrenuti samo u jednom folderu. U ovom članku ćemo vas naučiti kako da koristite dio VBA koda za pokretanje određenog pravila u svim mapama pošte.
Outlook dozvoljava korisnicima da ručno pokreću pravilo. Možete samo pristupiti dijaloškom okviru „Pravila i upozorenja“ i pritisnuti dugme „Pokreni pravila sada“. U sljedećem dijaloškom okviru odaberite određeno pravilo i odaberite mapu u kojoj želite da pokrenete ovo pravilo. Ali, ako želite brzo da pokrenete pravilo u svim folderima pošte, možete koristiti sljedeći VBA kod.

Brzo pokrenite određeno pravilo u svim folderima pošte
- Na prvom mjestu, start vaš Outlook program.
- Zatim u glavnom prozoru programa Outlook pritisnite tipke “Alt + F11”.
- Zatim u novom prozoru „Microsoft Visual Basic za aplikacije“, trebalo bi da otvorite modul koji se ne koristi.
- Nakon toga, kopirajte VBA kod ispod u ovaj prozor modula. Osim toga, trebali biste promijeniti neke redove na osnovu vašeg sopstvenog slučaja, kao što je naziv pravila.
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
- Nakon toga, trebali biste provjeriti postavke makroa u Outlooku, osiguravajući da je makro dozvoljen.
- Na kraju možete probati.
- Samo kliknite na potprogram “RunSpecificRule_AllMailFolders”.
- Zatim pritisnite dugme F5 da aktivirate ovaj kod.
- Zatim će se makro odmah pokrenuti.
- Nakon što se završi, dobit ćete poruku, poput sljedećeg snimka ekrana. Odnosi se na pravilo je završeno.
Pazite na zlonamjerne makroe
Kao što svi znamo, zlonamjerni e-mailovi su sve više rasprostranjeni. Takve poruke e-pošte često sadrže zlonamjerne makroe. Stoga, ako postavite razinu sigurnosti Outlook makroa na nisku, morate se čuvati skrivenih virusa i zlonamjernog softvera. Štaviše, pametno je nabaviti moćan alat za popravku PST-a, kao što je DataNumen Outlook Repair. To je u stanju popraviti PST datoteku i ekstrahirajte maksimalan broj podataka za vas, a da se ne oznojite.
Uvod za autora:
Shirley Zhang je stručnjak za oporavak podataka DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući oporaviti mdf i Outlook softverski proizvodi za popravku. Za više informacija posjetite www.datanumen.com

