After you create some Outlook rules, if you do not want to run them now but hope to start them at a specific time, you can apply the approach introduced in this article.
When you finish composing an Outlook rule, you will be required to choose if to “run this rule now”. If you enable it, the rule will start to run and keep working all the time as long as your Outlook is running. But if you do not enable it, you need to run this rule manually. However, many users actually desire that the rules can automatically run at specific times, instead of right now. For this requirement, it’s obvious that Outlook doesn’t offer such a native function. Therefore, you need to seek other means. Here we will teach you one trick, which will make use of a task item with a specific reminder and Outlook VBA.
Schedule Specific Outlook Rules to Run at a Specific Time
- At the very outset, launch your Outlook program.
- Then head to your default Task folder.
- Next you need to create the tasks with specific reminders, like the following screenshot. In addition, here are some notes in this step.
- Firstly, the number of tasks to be created depends on the rules which you need to run at specific times.
- Secondly, the reminder times refer to the specific times when the specific rules will run. So keep mindful when specifying the reminder time.
- Thirdly, if you want to run specific rules on a recurring pattern, you need to add a corresponding recurrence to the tasks.
- After completing creating new tasks, you can press “Alt + F11” key buttons.
- Subsequently, you will enter Outlook VBA editor window.
- At this point, you need to double click on the “ThisOutlookSession” project on the left side.
Public Sub Application_Reminder(ByVal Item As Object) Dim objRules As Outlook.Rules Dim objRule As Outlook.Rule Set objRules = Outlook.Application.Session.DefaultStore.GetRules If TypeOf Item Is TaskItem Then 'Refer to the subject of the specific task item If Item.Subject = "Rule: Move Items" Then 'The corresponding specific rule Set objRule = objRules.Item("Move Specific Items") With objRule .Enabled = True .Execute ShowProgress:=True, Folder:=Session.GetDefaultFolder(olFolderInbox), IncludeSubfolders:=True End With MsgBox ("Move Successfully!") ElseIf Item.Subject = "Rule: Forward Items" Then Set objRule = objRules.Item("Forward Specific Items") With objRule .Enabled = True .Execute ShowProgress:=True, Folder:=Session.GetDefaultFolder(olFolderInbox), IncludeSubfolders:=True End With MsgBox ("Forward Successfully!") 'You can add more as per your needs End If objRules.Save End If End Sub
- After that, you need to sign the new VBA project.
- Later you should change your macro settings to enable the digitally signed macros only.
- From now on, when the reminder of specific task pops up, a specific rule will run and work automatically. After the specific rules run successfully, you may receive messages like the following picture.
Deal with Occasional Outlook Troubles
Since Outlook is error prone, you will need to spend a lot of efforts on Outlook data protection. Thus, it’s prudent to prepare a reputable and proven Outlook fix tool, such as DataNumen Outlook Repair. It will help a lot when you suffer severe Outlook issues.
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including fix SQL Server and outlook repair software products. For more information visit www.datanumen.com