The answer is No and Yes. No to messages, yes to messages you move to a folder.
The basic VBA used on many sites http://www.slipstick.com/outlook/rules/run-outlook-rules-startup/
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
count = count + 1
ruleList = ruleList & vbCrLf & rl.Name
' 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
If you want to run it against the folder you moved the message(s) to, rather than the Inbox, specify that folder.
Say you create a folder under the Inbox named "RunRules"
Once you move the message(s) to the folder:
Set fldRunRules = st.GetDefaultFolder(olFolderInbox).Folders("RunRules")