Sub RunRulesSecondary() Dim oStores As Outlook.Stores Dim oStore As Outlook.Store Dim olRules As Outlook.Rules Dim myRule As Outlook.Rule Dim olRuleNames() As Variant Dim name As Variant ' Enter the names of the rules you want to run olRuleNames = Array("Rule name", "Rule 2", "Rule 3") Set oStores = Application.Session.Stores For Each oStore In oStores On Error Resume Next If oStore.DisplayName = "alias@domain.com" Then Set olRules = oStore.GetRules() For Each name In olRuleNames() Debug.Print "name " & name For Each myRule In olRules Debug.Print "myrule " & myRule 'Rules we want to run If myRule.name = name Then Debug.Print "Match! " & name ' inbox belonging to oStore ' need GetfolderPath function http://slipstick.me/4eb2l myRule.Execute ShowProgress:=True, Folder:=GetFolderPath(oStore.DisplayName & "\Inbox") ' current folder ' myRule.Execute ShowProgress:=True, Folder:=Application.ActiveExplorer.CurrentFolder End If Next Next End If Next End Sub