A resposta é não e sim. Não às mensagens, sim às mensagens que você move para uma pasta.
O VBA básico usado em muitos sites link
Sub RunAllInboxRules()
Dim st As Outlook.Store
Dim myRules As Outlook.Rules
Dim rl As Outlook.Rule
Dim count As Integer
Dim ruleList As String
'On Error Resume Next
' get default store (where rules live)
Set st = Application.Session.DefaultStore
' get rules
Set myRules = st.GetRules
' iterate all the rules
For Each rl In myRules
' determine if it's an Inbox rule
If rl.RuleType = olRuleReceive And rl.IsLocalRule = True Then
' if so, run it
rl.Execute ShowProgress:=True
count = count + 1
ruleList = ruleList & vbCrLf & rl.Name
End If
Next
' tell the user what you did
ruleList = "These rules were executed against the Inbox: " & vbCrLf & ruleList
MsgBox ruleList, vbInformation, "Macro: RunAllInboxRules"
Set rl = Nothing
Set st = Nothing
Set myRules = Nothing
End Sub
Se você quiser executá-lo na pasta para a qual você moveu a (s) mensagem (s), em vez da Caixa de entrada, especifique essa pasta.
link
Digamos que você crie uma pasta na Caixa de entrada chamada "RunRules"
Depois de mover a (s) mensagem (s) para a pasta:
Set fldRunRules = st.GetDefaultFolder(olFolderInbox).Folders("RunRules")
rl.Execute Folder:=fldRunRules