Skip to content

Automate Outlook Meeting Reminders with VBA

If you frequently forget to reset reminders when rescheduling meetings, you can use VBA (Visual Basic for Applications) in Outlook to automatically set a default reminder time whenever a meeting is sent or updated.

🧪 What This VBA Macro Does

The sample VBA script below automatically sets a 15-minute reminder for all outgoing Outlook meeting invites (AppointmentItems), ensuring no meeting is saved without a reminder—even after rescheduling.


✍️ Step-by-Step: How to Add the VBA Code in Outlook

📌 1. Open the VBA Editor

  1. Open Outlook Desktop.
  2. Press Alt + F11 to open the VBA editor.
  3. In the Project pane (on the left), expand:
    • Project1 > Microsoft Outlook Objects.
  4. Double-click on ThisOutlookSession.

📌 2. Paste the VBA Code

Paste this code into the ThisOutlookSession window:

vbaCopyEditPrivate Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    If TypeName(Item) = "AppointmentItem" Then
        Dim appt As AppointmentItem
        Set appt = Item
        
        ' Check if the reminder is already set
        If Not appt.ReminderSet Then
            appt.ReminderMinutesBeforeStart = 15 ' Set your default time here
            appt.ReminderSet = True
        End If
    End If
End Sub

💡 Tip: You can change the 15 to any other number of minutes (e.g., 30 for 30 minutes before start).


📌 3. Save and Enable Macros

  1. Save the VBA project (Ctrl + S).
  2. Close the VBA editor.
  3. Restart Outlook.

Make sure Macros are enabled in Outlook:

  • Go to File > Options > Trust Center > Trust Center Settings > Macro Settings.
  • Select “Notifications for all macros” or “Enable all macros” (only if in a trusted environment).

🔐 Security Note

Because macros can pose security risks, only enable macros in a trusted environment or consider digitally signing your macro.


✅ What Happens Next?

  • Every time you send or update a meeting, Outlook checks whether the reminder is set.
  • If it’s missing, the macro automatically sets it to your preferred default (e.g., 15 minutes).

🧠 Advanced Ideas

  • Apply different reminder times based on categories or subjects.
  • Log meeting updates to a file for audit.
  • Extend the macro to apply to recurring meetings differently.

🧹 Troubleshooting

IssueSolution
Macro not runningEnsure macros are enabled and you’re using Outlook Desktop.
Reminder still not setCheck if you’re modifying a recurring instance or if it’s being overridden by server policy.
Not triggering on drag-and-dropVBA only triggers when you send or update the item, not on drag-drop.

This VBA method is perfect if you’re often creating or rescheduling meetings and forget to set reminders. It adds automation and peace of mind, especially in fast-paced environments.