Per impostazione predefinita, puoi eseguire una regola solo in una cartella alla volta. In questo articolo, ti insegneremo come utilizzare un pezzo di codice VBA per eseguire una regola specifica in tutte le cartelle di posta.
Outlook consente agli utenti di eseguire la regola manualmente. Puoi semplicemente accedere alla finestra di dialogo "Regole e avvisi" e premere il pulsante "Esegui regole ora". Nella finestra di dialogo successiva, seleziona una regola specifica e scegli una cartella in cui desideri eseguire questa regola. Tuttavia, se desideri eseguire rapidamente una regola in tutte le cartelle di posta, puoi utilizzare il seguente codice VBA.

Esegui rapidamente una regola specifica in tutte le cartelle di posta
- In primo luogo, start il tuo programma Outlook.
- Quindi, nella finestra principale di Outlook, premi i pulsanti "Alt + F11".
- Avanti nella finestra emergente "Microsoft Visual Basic for Applications", dovresti aprire un modulo non in uso.
- Successivamente, copia il codice VBA di seguito in questa finestra del modulo. Inoltre, dovresti modificare alcune righe in base al tuo caso, come il nome della regola.
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
- Successivamente, dovresti controllare le impostazioni della macro di Outlook, assicurandoti che la macro sia consentita.
- Alla fine puoi provare.
- Basta fare clic sulla subroutine "RunSpecificRule_AllMailFolders".
- Quindi premere il tasto F5 per attivare questo codice.
- Successivamente la macro verrà eseguita immediatamente.
- Al termine, riceverai un messaggio, come lo screenshot seguente. Si riferisce alla regola è finita.
Fai attenzione alle macro dannose
Come tutti sappiamo, le e-mail dannose sono diventate sempre più dilaganti. Tali e-mail spesso contengono macro dannose. Pertanto, se si imposta il livello di sicurezza delle macro di Outlook su un livello basso, è necessario fare attenzione ai virus e ai malware nascosti. Inoltre, è prudente procurarsi un potente strumento di correzione PST, come ad esempio DataNumen Outlook Repair. È in grado di riparare PST archivia ed estrai il massimo dei dati per te senza sudare.
Introduzione dell'autore:
Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui recuperare mdf e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com

