• Outlook User
  • New Outlook app
  • Outlook.com
  • Outlook Mac
  • Outlook & iCloud
  • Developer
  • Microsoft 365 Admin
    • Common Problems
    • Microsoft 365
    • Outlook BCM
    • Utilities & Addins

How to Remove or Change the Reminder on All Day Events

Slipstick Systems

› Developer › How to Remove or Change the Reminder on All Day Events

Last reviewed on February 16, 2023     82 Comments

calendar reminder iconAnother day, another macro in my "The Lazy Programmer Series", where I take existing code samples and tweak them to do other, similar things.

This code base, like many others I use, comes from Michael Bauer's VBOffice site and began life as Calendar: Delete the reminder of a meeting request.

This macro runs when Outlook starts and watches for new appointment items to be saved. When it finds one, it checks to see if it's an All Day Event, and if so, you are asked if you want to keep the reminder. While the tweaks here work with reminders, it can be tweaked to do almost anything when a new appointment or event is saved.

Step 1

To use these ItemAdd macros on this page, you need to add this code to the top of ThisOutlookSession:

Open the VB Editor by pressing Alt+F11. Expand the Project to display ThisOutlookSession and paste the following code into the editor. To test this macro without closing and restarting Outlook, click in the Application_Startup sub and click the Run button on the toolbar. Repeat this step after making modifications to the code.

Private WithEvents Items As Outlook.Items

Private Sub Application_Startup()
  Dim Ns As Outlook.NameSpace

  Set Ns = Application.GetNamespace("MAPI")
  Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items
End Sub

Step 2

Paste one of the ItemAdd macros below into ThisOutlookSession, just after the End Sub of the Application_StartUp macro above.

Remove Reminders on All Day Events | Remove Default 18 Hour Reminders |

 

Remove Reminders on All Day Events


Private Sub Items_ItemAdd(ByVal Item As Object)
  On Error Resume Next
  Dim Appt As Outlook.AppointmentItem

  If TypeOf Item Is Outlook.AppointmentItem Then

    Set Appt = Item

'Checks to see if all day and if it has a reminder set to true
     If Appt.AllDayEvent = True And Appt.ReminderSet = True Then

'msgbox block - 3 lines
    If MsgBox("Do you want to remove the reminder?", vbYesNo) = vbNo Then
      Exit Sub
    End If

'appt.reminderset block - 2 lines
     Appt.ReminderSet = False
     Appt.Save

    End If
    End If
End Sub

Customize the Code

This code sample has a lot of potential - you can use it to change almost any field in appointments and events (timed appointments or all day events). It applies to all new appointment items, including those created by Outlook when you enter a contact's birthday. To get you started, I've included some ideas below.

 

Keep all except 18 hour reminders

Would you prefer removing all 18 hour reminders but want to keep reminders if you select a different reminder time? Remove the If Msgbox... End If block and replace the Appt.Reminderset block with the following code.

Private Sub Items_ItemAdd(ByVal Item As Object)
  On Error Resume Next
  Dim Appt As Outlook.AppointmentItem
 
  If TypeOf Item Is Outlook.AppointmentItem Then
 
    Set Appt = Item
 
' Checks the start time
 If Appt.ReminderMinutesBeforeStart = 1080 Then
     Appt.ReminderSet = False
     Appt.Save
    End If

End If

End Sub

 

Set a different "default" reminder

To change the default reminder from 18 hours to another value, remove the If Msgbox... End If block and replace the Appt.Reminderset block with the following lines. This sample sets the reminder to 6 hours before the start, or 6PM.

Private Sub Items_ItemAdd(ByVal Item As Object)
  On Error Resume Next
  Dim Appt As Outlook.AppointmentItem
 
  If TypeOf Item Is Outlook.AppointmentItem Then
    Set Appt = Item
If Appt.ReminderMinutesBeforeStart = 1080 Then
     Appt.ReminderMinutesBeforeStart = 360
Appt.Save

End If
End If
End Sub

Keep reminders based on subject

To leave the reminder for appointments beginning with a specific keyword or character, replace the If Msgbox... End If code with the following code. This sample checks the first character for a ! and if found, the reminder is left on. You can check more characters by changing the number and phrase in Left(Appt.Subject, 1) = "!".

For example, an all day event with the subject !Training Classes would keep the 18 hour reminder, while Working downtown would not have a reminder.

If Left(Appt.Subject, 1) = "!" Then
 Exit Sub
 End If

Set longer reminders for birthdays

To set a reminder more than 18 hours before for Birthdays, remove the msgbox block and replace the appt.reminderset code with the following. This will set a reminder for 7.5 days on all birthdays, including those created when you add new contacts to Outlook and enter a birth date. We're also adding the Birthday category.

Private Sub Items_ItemAdd(ByVal Item As Object)
  On Error Resume Next
  Dim Appt As Outlook.AppointmentItem
 
  If TypeOf Item Is Outlook.AppointmentItem Then
 
    Set Appt = Item
 
' Checks the start time
If Right(Appt.Subject, 8) = "Birthday" Then
Appt.ReminderMinutesBeforeStart = 10800
Appt.Categories = "Birthday"
Appt.Save

End If

End If

End Sub

Set longer reminders for the first appointment after lunch

To set longer reminders for appointments that occur at certain times of the day, you need to check the start time. When only the time is entered, it applies to that time, any date.


Private Sub Items_ItemAdd(ByVal Item As Object)
  On Error Resume Next
  Dim Appt As Outlook.AppointmentItem
 
  If TypeOf Item Is Outlook.AppointmentItem Then
 
    Set Appt = Item
 
' Checks the start time
If Appt.Start = "#1:00:00 PM#" Then

' appt.reminderset block - 2 lines
 With Appt
     .ReminderSet = True
     .ReminderMinutesBeforeStart = 75
     .Save
End With

End If
End If

End Sub

Set Free/Busy to Busy

This macro sets Free/Busy status to Busy when a new All Day Event is added to the calendar.

Note: when you are creating the All Day Event, the Free/Busy status will be Free. The macro changes it to Busy on Save.

Private Sub Items_ItemAdd(ByVal Item As Object)
  On Error Resume Next
  Dim Appt As Outlook.AppointmentItem
 
  If TypeOf Item Is Outlook.AppointmentItem Then
 
    Set Appt = Item
 
'Checks to see if all day and if it has a reminder set to true
     If Appt.AllDayEvent = True And Appt.BusyStatus = olFree Then
 
    Appt.BusyStatus = olBusy

'appt.reminderset block - 2 lines
     Appt.ReminderSet = True
     Appt.Save
 
    End If
  End If

End Sub

Run the Macro Manually on Selected Appointments

If you want to run the macro on selected appointments, you need to remove the startup macro and change the itemadd macro to run on demand.

Private Sub ChangeReminderSelected()
Dim Item As Object
For Each Item In ActiveExplorer.Selection
  On Error Resume Next
  If TypeOf Item Is Outlook.AppointmentItem Then

Dim Appt As Outlook.AppointmentItem
 
Set Appt = Item
 
'Checks to see if all day and if it has a reminder set to true
     If Appt.AllDayEvent = True And Appt.ReminderSet = True Then
 
 'appt.reminderset block - 2 lines
     Appt.ReminderSet = False
     Appt.Save
 
    End If
    End If
Next
End Sub

 

Run on upcoming events

This macro filters for events with a start date yesterday and 30 days in the future and changes the values. This speeds it up if you have a lot of all days events in the future (such as holidays or birthdays). You could filter to only apply it to items in certain categories or locations instead of going by date.

Because this is a manual macro, you need to run it on a regular basis, or use another macro to run it when a reminder fires. See Running Outlook Macros on a Schedule for more information.

Sub RemoveAllDayReminders()

  Dim objOutlook As Outlook.Application
  Dim objNamespace As Outlook.NameSpace
  Dim objSourceFolder As Outlook.MAPIFolder
  Dim fCount As Integer
  
  Dim CalItems As Outlook.Items
  Dim ResItems As Outlook.Items
  Dim sFilter As String
  Dim iNumRestricted As Integer
  Dim iChanged As Integer
  Dim itm As Object
  Dim tStart As Date
  Dim tEnd As Date
 
Dim Appt As Outlook.AppointmentItem

  Set objOutlook = Application
  Set objNamespace = objOutlook.GetNamespace("MAPI")
  Set objSourceFolder = objNamespace.GetDefaultFolder(olFolderCalendar)
  
  ' Get all of the appointments in the folder
  Set CalItems = objSourceFolder.Items
 
   ' Sort all of the appointments based on the start time
   CalItems.Sort "[Start]"
 
   CalItems.IncludeRecurrences = False
    
  ' 1 day ago
    tStart = Format(Now - 1, "Short Date")
    
  ' 30 days ahead to speed it up
    tEnd = Format(Now + 30, "Short Date")
    
   'create the Restrict filter
'If you want to filter by subject, location, or category:
   '& """urn:schemas:httpmail:subject""" & " LIKE '%subject%' OR " _
   '& """urn:schemas:calendar:location""" & " LIKE '%location%' OR " _
   '& """urn:schemas-microsoft-com:office:office#Keywords""" &  "LIKE '%category name%'"
   '"urn:schemas:calendar:alldayevent" = 1
'To apply to all except in a specific category:
   '& """urn:schemas-microsoft-com:office:office#Keywords""" &  "<> 'category name'"
   
sFilter = "@SQL= (" & """urn:schemas:calendar:dtstart""" & " >= '" & tStart & "' AND" _
& """urn:schemas:calendar:dtend""" & " <= '" & tEnd & "' AND (" _
& """urn:schemas:calendar:alldayevent""" & "=1))"
 
   Debug.Print sFilter
   ' Apply the filter to the collection
   Set ResItems = CalItems.Restrict(sFilter)
 
   iNumRestricted = 0
   
   fCount = ResItems.Count
 Debug.Print ResItems.Count
   'Loop through the items in the collection.
   
   For counter = fCount To 1 Step -1
   
Set itm = ResItems.Item(counter)
   
   iNumRestricted = iNumRestricted + 1

Debug.Print itm.Subject, itm.Start
Set Appt = itm
If Appt.AllDayEvent = True And Appt.ReminderSet = True Then
 
 'appt.reminderset block - 2 lines
     Appt.ReminderSet = False
     Appt.Save
     iChanged = iChanged + 1
End If
   Next counter

Debug.Print (iNumRestricted & " " & strSubject & " events were found; " & iChanged & " needed changed.")

MsgBox (iNumRestricted & " " & strSubject & " events were found; " & iChanged & " needed changed.")

Set objSourceFolder = Nothing

End Sub

Use other calendar folders

Use a folder at root level or a subfolderIf you want to use the macro on other calendar folders, you have two options: apply the macro to all Calendar folders or only to a specific folder.

To remove reminders from all day events in folders that are not the default calendar folder, you need to change the Application_Startup code to look in a different calendar folder.

If the folder is is a subfolder under the default Calendar folder (#1 in screenshot), replace

Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items

with:

Set Items = Ns.GetDefaultFolder(olFolderCalendar).Folders("SharedCal").Items

When the folder in your default data file or mailbox at the same level as the Calendar (and Inbox folder) (#2 in screenshot) use:

Set Items = Ns.GetDefaultFolder(olFolderCalendar).Parent.Folders("SharedCal").Items

To run the macro on all Calendar folders, use

Set Items = Application.ActiveExplorer.CurrentFolder.Items

Folder pathsIf the folder is in another mailbox or data file, you need to use a function to find the folder path and call the function in the Startup procedure.

To use a Calendar folder called "Test Cal" in a pst file named "New PST", replace Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items with:

Set Items = GetFolders("New PST\Test Cal").Items

Then get the function from Working with VBA and non-default Outlook Folders

How to use the macros on this page

First: You need to have macro security set to the lowest setting, Enable all macros during testing. The macros will not work with the top two options that disable all macros or unsigned macros. You could choose the option Notification for all macros, then accept it each time you restart Outlook, however, because it's somewhat hard to sneak macros into Outlook (unlike in Word and Excel), allowing all macros is safe, especially during the testing phase. You can sign the macro when it is finished and change the macro security to notify.

To check your macro security in Outlook 2010 and newer, go to File, Options, Trust Center and open Trust Center Settings, and change the Macro Settings. In Outlook 2007 and older, look at Tools, Macro Security.

After you test the macro and see that it works, you can either leave macro security set to low or sign the macro.

Macros that run when Outlook starts or automatically need to be in ThisOutlookSession, all other macros should be put in a module, but most will also work if placed in ThisOutlookSession. (It's generally recommended to keep only the automatic macros in ThisOutlookSession and use modules for all other macros.) The instructions are below.

Open the VBA Editor by pressing Alt+F11 on your keyboard.

To put the code in a module:

  1. Right click on Project1 and choose Insert > Module
  2. Copy and paste the macro into the new module.

To put the macro code in ThisOutlookSession:

  1. Expand Project1 and double click on ThisOutlookSession.
  2. Copy then paste the macro into ThisOutlookSession. (Click within the code, Select All using Ctrl+A, Ctrl+C to copy, Ctrl+V to paste.)

More information as well as screenshots are at How to use the VBA Editor

More Information

Calendar: Delete the reminder of a meeting request This removes reminders from incoming meeting requests. I used it as the base for this macro.

Solution to disturbing default reminder for Outlook all-day events This code sample checks the reminder hour and if its set to remind you before or after a specific time period (such as before 8 am or after 9 pm) it recommends a new reminder time.

More Lazy Programmer code:
Bulk Change Contacts code is easily tweaked to change any field in a contact.

How to Remove or Change the Reminder on All Day Events was last modified: February 16th, 2023 by Diane Poremsky
Post Views: 238

Related Posts:

  • Dismiss reminders for past calendar events
  • Add a reminder to Birthday Events
  • Automatically change Appointment categories using VBA
  • Change Insight's Focus Time Appointments

About Diane Poremsky

A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

Comments

  1. astrid says

    October 27, 2025 at 10:59 am

    Hello! Thank you for your valuable work. I have been using this tip for several years now.
    I have just read that the new Outlook will not be compatible with VBA. Do you have an idea of how we will be able to implement this kind of workaround by the time this software is forced on users (in 2029)?

    Reply
    • Diane Poremsky says

      October 27, 2025 at 5:07 pm

      At this time, they do not plan on adding any form of automation (outside of power automate). And power automate is generally limited in what it can do.

      Reply
  2. Amy says

    January 7, 2025 at 7:32 am

    Since the most recent update to Outlook, this macro no longer seems to work. Any suggestions for editing it to work again?

    Reply
    • Diane Poremsky says

      October 27, 2025 at 5:07 pm

      Any error messages? As long as you are still using classic outlook, it should work.

      Reply
  3. Frank says

    September 2, 2024 at 11:22 am

    I have been using these macros for quite a while now. They are so helpful! My favorite is the one to remove reminders on all day events. How can I make it run when entering events on a calendar other than the default calendar?

    Reply
    • Diane Poremsky says

      September 10, 2024 at 11:22 am

      In the auto start macro you need to set it to look at the other folder.

      Set Items = Ns.GetDefaultFolder(olFolderCalendar).Folders("subcalendar").Items

      https://www.slipstick.com/developer/working-vba-nondefault-outlook-folders/

      Reply
  4. Marie says

    February 10, 2023 at 8:17 am

    This is amazing--thank you! It works perfectly on my default calendar. I can't seem to get it to work for another calendar that I shared with my team, even when I use the code for all calendars. Any help would be amazing!

    Reply
  5. Alex says

    June 15, 2022 at 10:58 am

    I have the following code under "ThisOutlookSession". Whenever I start Outlook 2019, it also asks me if I want to enable/disable the macro. Thus, Outlook executes it, but it makes no difference. My default reminder is stuck at 18 hours for an all-day event.

    Private WithEvents Items As Outlook.Items

    Private Sub Application_Startup()
     Dim Ns As Outlook.NameSpace

     Set Ns = Application.GetNamespace("MAPI")
     Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items
    End Sub

    Private Sub Items_ItemAdd(ByVal Item As Object)
     On Error Resume Next
     Dim Appt As Outlook.AppointmentItem
     
     If TypeOf Item Is Outlook.AppointmentItem Then
      Set Appt = Item
    If Appt.ReminderMinutesBeforeStart = 1080 Then
       Appt.ReminderMinutesBeforeStart = 360
    Appt.Save

    End If
    End If
    End Sub

    Reply
  6. Alex says

    June 15, 2022 at 10:47 am

    It doesn't seem to work for Outlook 2019.

    Reply
    • Diane Poremsky says

      June 15, 2022 at 3:20 pm

      it should - I will test it.

      Remove or comment out the one error resume next line and if it errors.

      Reply
    • Diane Poremsky says

      June 15, 2022 at 3:27 pm

      It's working in 365, which is just a newer build of 2019.

      Also, it only works on the default calendar - if you have more than one calendar, it won't work on the extras - only on the one that shows in the calendar peek or to-do bar.

      Reply
      • Alex says

        June 15, 2022 at 5:50 pm

        Thank you for your quick response. It still doesn't work. I'll need to play with it and see.

      • Diane Poremsky says

        June 15, 2022 at 9:03 pm

        add this to the end of the app. startup macro, right before end sub.
        msgbox "started"

        then add this to the top of the itemadd macro -
        msgbox "item detected"

        and this to the bottom
        MsgBox "Reminder " & Appt.ReminderMinutesBeforeStart / 60 & " hours before event"

        Video of the macro working here -
        https://www.screencast.com/t/oGCZAq595oE

      • Alex says

        June 16, 2022 at 8:43 am

        Thank you so much! I didn't know when I created an event, it would first STILL show 18 hours but the change would take place AFTER it is saved!

        It worked at least for a while until I experimented with a custom template, ie. I changed from IPM.Appointment to IPM.Appointment_Private.
        As a result of this change, now my reminder becomes None!

        Afterward, I changed back to the original IPM.Appointment, but unfortunately, it is still stuck at None!

        Here is my new code:
        MsgBox "Reminder: " & Appt.ReminderMinutesBeforeStart / 60 & " hours before event"

          If Appt.ReminderMinutesBeforeStart = 1080 Then
            Appt.ReminderMinutesBeforeStart = 360
            Appt.Save

            MsgBox "Reminder: " & Appt.ReminderMinutesBeforeStart / 60 & " hours after event"
           
          Else
             
            MsgBox "Reminder: " & Appt.ReminderMinutesBeforeStart / 60 & " hours aren't changed"
          End If

        It would show for the all-day event, the reminder has been changed to 6 hours, and for the rest, it remains at 0.25 hours. Unfortunately, when I open an event to examine it, it is stuck at None.

      • Alex says

        June 21, 2022 at 6:37 am

        It is all working now, not just for IPM.Appointment but my custom IPM.Appointment_Private too! I didn't make further code changes and thus can't explain why it's working now. Perhaps something was broken in my Outlook, and it got cleaned up after several reboots.

  7. Sam G says

    April 12, 2021 at 9:44 am

    Got my first job and this was driving me nuts when I click a day in the calendar making a cursor appear to quickly note something down that I'll have to think of that day, so thanks a lot for this!

    However, I only restart my laptop less than every week, approximately. This way, a lot of appointments aren't changed before the dreaded 18 hours before. I have no VB experience, so could you tell me what other triggers are possible? Manually sounds like no time is saved, so ideally I'd like it to activate every time an appointment is created.

    Reply
    • Diane Poremsky says

      April 12, 2021 at 11:26 am

      The macro normally run when you open a new event, but typing in the date field doesn't trigger item add.

      I'll look at using other solutions to trigger it.

      Reply
  8. Pat Babcock says

    March 11, 2021 at 6:33 pm

    Me again, with a bit of oddness! I've used the "Remove Reminders On All Day Events" macro above for some time. Works great. Love it! I was given a new machine at work and added it to Outlook right away. After the last Windows or Office update (really wasn't paying attention...), though, it stopped offering a yes/no option, and just an "OK" in the message box, and invariably deleted the reminder. Odd bodkins! I had to rewrite the message box routine as follows to get a Y/N option again:

    Dim answer As Integer
    answer = MsgBox("Delete the reminder?", vbQuestion + vbYesNo + vbDefaultButton2, "All Day Event")
    If answer = vbNo Then
    Exit Sub
    End If
    

    Not sure why it would have changed its behavior. (Actually, it may have been misbehaving right along because, until now, I'd deleted pretty much every reminder, so...) In any case, the more concise and straightforward code in your example will not yield a Y/N box on my instantiation of Outlook. Thought you'd be curious, too.

    Reply
  9. Sian says

    March 10, 2021 at 12:06 pm

    Thank you for your guide, a really great help! I *think* I have followed your instructions correctly - I want to remove the default all-day reminder, but I would like the option to potentially set one in some cases, so following your instructions, I have the following code in my VBA window:

    Private WithEvents Items As Outlook.Items

    Private Sub Application_Startup()

    Dim Ns As Outlook.NameSpace

    Set Ns = Application.GetNamespace("MAPI")

    Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items

    End Sub

    Private Sub Items_ItemAdd(ByVal Item As Object)

    On Error Resume Next

    Dim Appt As Outlook.AppointmentItem

    If TypeOf Item Is Outlook.AppointmentItem Then

    Set Appt = Item

    'Checks to see if all day and if it has a reminder set to true

    If Appt.AllDayEvent = True And Appt.ReminderSet = True Then

    Private Sub Items_ItemAdd(ByVal Item As Object)

    On Error Resume Next

    Dim Appt As Outlook.AppointmentItem

    If TypeOf Item Is Outlook.AppointmentItem Then

    Set Appt = Item

    ' Checks the start time

    If Appt.ReminderMinutesBeforeStart = 1080 Then

    Appt.ReminderSet = False

    Appt.Save

    End If

    End If

    End Sub

    End If

    End If

    End Sub

    However, when I try running it, it come up with the following compile error:

    Ambiguous name detected: Items_ItemAdd

    I'm sure I'm being an idiot and have missed something, as I have no coding experience. Would be wonderful if you can help!

    Reply
  10. Sian says

    March 10, 2021 at 12:02 pm

    Thank you for your guide, a really great help! I *think* I have followed your instructions correctly - I want to remove the default all-day reminder, but I would like the option to potentially set one in some cases, so following your instructions, I have the following code in my VBA window:

    Private WithEvents Items As Outlook.Items

    Private Sub Application_Startup()
     Dim Ns As Outlook.NameSpace

     Set Ns = Application.GetNamespace("MAPI")
     Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items
    End Sub

    Private Sub Items_ItemAdd(ByVal Item As Object)
     On Error Resume Next
     Dim Appt As Outlook.AppointmentItem

     If TypeOf Item Is Outlook.AppointmentItem Then

      Set Appt = Item

    'Checks to see if all day and if it has a reminder set to true
       If Appt.AllDayEvent = True And Appt.ReminderSet = True Then

    Private Sub Items_ItemAdd(ByVal Item As Object)
     On Error Resume Next
     Dim Appt As Outlook.AppointmentItem
     
     If TypeOf Item Is Outlook.AppointmentItem Then
     
      Set Appt = Item
     
    ' Checks the start time
     If Appt.ReminderMinutesBeforeStart = 1080 Then
       Appt.ReminderSet = False
       Appt.Save
      End If

    End If

    End Sub

      End If
      End If
    End Sub

    However, when I try running it, it come up with the following compile error:
    Ambiguous name detected: Items_ItemAdd

    I'm sure I'm being an idiot and have missed something, as I have no coding experience. Would be wonderful if you can help!

    Reply
  11. Mark G says

    March 8, 2021 at 2:39 pm

    Diane. Thx for all your posts. Sadly, numbskulls (like me) need a non-code KISS "fix".
    One phrase that I find really interesting is, "You cannot set a default reminder for all day events - it should either be 12 or 18 hours prior, depending on how it was configured.

    To me this begs the questions:
    1) Who "configured" it?
    2) How does one re-configure it?
    i.e. DELETE, then reinstall Outlook after configuring "X"

    PS - We're running Office 365 / my reminders are 18 hour( #*@**!) / 12 would be "just-fine"

    Reply
    • Diane Poremsky says

      March 8, 2021 at 10:23 pm

      1. At one time, how you created (not configured) the all day event determined the reminder time. Its fixed now - all all days events are back to 18 hours. If you still have one of the builds that uses 12 hours, you will get different reminder times when you use the All Day event button or double click on a date.
      2. Microsoft fixed it so the reminder for all day events is always 18 hours.
      Reply
  12. Pat Babcock says

    November 12, 2020 at 9:53 am

    There is a missing "End If in the "Remove Reminders on All Day Events" sub. It goes right before "End Sub" Tis is what it took to make the macro run on Outlook 365. Also, you need to enable macros (Options -> Trust Center -> Trust Center Settings button -> Macro Settings - > Notifications for all macros radio button. Then restart Outlook...)

    Reply
    • Diane Poremsky says

      November 16, 2020 at 10:49 am

      Thanks for mentioning it. I've fixed it now.

      Reply
  13. Jeremy says

    May 22, 2017 at 4:24 pm

    I was able to get this to work in Outlook 2013, but no luck in Outlook 2010. Is there something difference that needs to be done for Outlook 2010?

    Thanks!

    Reply
    • Diane Poremsky says

      May 22, 2017 at 8:10 pm

      it should work in 2007 and up - possibly in older versions too. It was published in April 2012 so I would have tested it in Outlook 2010 and possibly outlook 2013 beta.

      Do you get any error messages? Remove or comment out the on error resume next line and see where it errors.

      Reply
  14. Todd says

    August 3, 2016 at 4:37 pm

    Is there any way to change the code so it sets all reminders to 'none'? We have an issue with Outlook 2016 where, even if you have the default user setting set to 'none' (by unchecking Default Reminders in Options), the user still receives the meeting request with whatever time you had it set to before you unchecked the box (5 minutes, 10 minutes, 15 minutes, etc.) and we can't seem to figure out what the issue might be, so we were hoping for a work-around.

    Reply
    • Diane Poremsky says

      August 4, 2016 at 12:54 am

      I don't recall offhand if it was fixed - i think changing a file on the exchange server fixes it. (I'll look in the morning.) But yes, the macro can turn all reminders off. The macros look for new items on the calendar, so it needs tweaked a bit.

      Reply
  15. Todd says

    August 1, 2016 at 4:55 pm

    I would like to know if there is an alteration to the code that could set the reminder to 'none'? We've been having an issue with Outlook 2016 not changing the reminder to 'none' even if the sender has it set that way and we would like to find some sort of work-around.

    Reply
    • Diane Poremsky says

      August 11, 2016 at 12:35 am

      This is with an exchange account or are you syncing with a smartphone? If Exchange, the admin needs to update the server.

      The itemadd macro on this page watches the calendar can remove the reminders. Remove the lines that ask if you want a reminder.
      This sets it to false:
      'appt.reminderset block - 2 lines
      Appt.ReminderSet = False
      Appt.Save

      Reply
  16. DanW says

    April 26, 2016 at 10:22 am

    I would like to use this Macro but already have your 'Zoom' macro in my VBA. How do I add this macro to my existing setup? When I add this new code at the beginning of my 'ThisOutlookSession', the macro won't compile (run). I'd like to have both if possible. Here's the code for Zoom:

    Option Explicit
    Dim WithEvents objInspectors As Outlook.Inspectors
    Dim WithEvents objOpenInspector As Outlook.Inspector
    Dim WithEvents objMailItem As Outlook.MailItem
    Private Sub Application_Startup()
    Set objInspectors = Application.Inspectors
    End Sub

    Private Sub Application_Quit()
    Set objOpenInspector = Nothing
    Set objInspectors = Nothing
    Set objMailItem = Nothing
    End Sub

    Private Sub objInspectors_NewInspector(ByVal Inspector As Inspector)
    If Inspector.CurrentItem.Class = olMail Then
    Set objMailItem = Inspector.CurrentItem
    Set objOpenInspector = Inspector

    End If
    End Sub
    Private Sub objOpenInspector_Close()

    Set objMailItem = Nothing
    End Sub

    Private Sub objOpenInspector_Activate()

    Dim wdDoc As Word.Document
    Set wdDoc = objOpenInspector.WordEditor
    wdDoc.Windows(1).Panes(1).View.Zoom.Percentage = 125

    End Sub

    Private Sub objOpenInspector_Deactivate()

    End Sub

    --------------------------
    If I add this new 'Reminders' code, where do I insert it or how to I add it so both will work?

    Reply
    • Diane Poremsky says

      August 11, 2016 at 12:39 am

      sorry I missed this earlier - you need to combine the app startup (and the Dim line) - the Items_ItemAdd macro will go either before or after the inspector macros.

      Option Explicit
      Dim WithEvents objInspectors As Outlook.Inspectors
      Dim WithEvents objOpenInspector As Outlook.Inspector
      Dim WithEvents objMailItem As Outlook.MailItem
      Private WithEvents Items As Outlook.Items

      Private Sub Application_Startup()
      Dim Ns As Outlook.NameSpace
      Set Ns = Application.GetNamespace("MAPI")
      Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items
      Set objInspectors = Application.Inspectors
      End Sub

      Reply
  17. Peterson says

    December 3, 2015 at 7:33 am

    Hello, thank you for the solution. I was able to implement it easily. But I wonder, what should be changed in the code to remove this reminder when sending all day event invitation to others? So before I even create the calendar even localy.

    Peterson

    Reply
  18. philready says

    May 12, 2015 at 8:45 pm

    Hi Diane, How can see and/or remove reminders that came from another calendar that has been deleted?
    This was another user's calendar that was restored for investigation purpose. It has now been deleted, but reminders from the calendar are still popping up

    Reply
    • Diane Poremsky says

      May 13, 2015 at 10:49 pm

      Restarting outlook with the cleanreminders switch should clear the reminders.

      Reply
  19. Natalie says

    April 13, 2015 at 1:46 am

    HI Diane - I have a question but I need you to forgive my lack of programming skills :)

    I am using Office 365 Home Premium with Outlook 2013. I have three separate email addresses and each has an associated Calendar. I am trying to turn off reminders altogether for one of the Calendars but the setting to turn off reminders seems to be only a global one.

    None of the Calendars are shared.

    Is there any way I can use some of your fancy programming to facilitate the functionality that I am looking for?

    Thank you in advance,

    Natalie

    Reply
    • Diane Poremsky says

      April 15, 2015 at 9:07 pm

      Try these macros. You'll need to change the folders you're watching. For two mailboxes where neither are your default, use the display name as seen in the folder list (usually the email address in current versions)

      Reply
  20. Charles says

    October 31, 2014 at 8:39 am

    Diane - just wanted to say a big "Thank You!" for all you do for the community of users. I appreciate it very much.

    Reply
  21. aozmonster says

    October 30, 2014 at 11:52 pm

    I do not have any VBA experience so I apologize for my naivete. But can someone help me modify this code so that it will change any/all events' status on my calender from "free" to "busy"? I will never, ever create an event on my calender that will show my time as "free". But all day events default to "free" and my coworkers (who have busy/free status visibility permissions of my calender only) see that I am "free" when I am actually out of town and they make plans based on that since they tell me that my calender "says that I am free all day"... This has caused problems for me since they tell my supervisor that I "told them" that I was free (ie. they read it on my calender). I create daily events months ahead and I don't have time to click every event for every single day and click the drop down menu then click "busy". Can you please help me? Thank you SO much if you have read all my nonsense.

    Reply
    • Diane Poremsky says

      October 31, 2014 at 1:56 am

      You'll need this code:
      Private WithEvents Items As Outlook.Items

      Private Sub Application_Startup()
      Dim Ns As Outlook.NameSpace

      Set Ns = Application.GetNamespace("MAPI")
      Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items
      End Sub

      Private Sub Items_ItemAdd(ByVal Item As Object)
      On Error Resume Next
      Dim Appt As Outlook.AppointmentItem

      If TypeOf Item Is Outlook.AppointmentItem Then

      Set Appt = Item

      ' Checks the start time
      If Right(Appt.Subject, 8) = "Birthday" Then
      Appt.ReminderMinutesBeforeStart = 10800
      Appt.Categories = "Birthday"
      Appt.BusyStatus = olbusy

      Appt.Save

      End If

      End If

      End Sub

      if you need help using the vb editor, see https://www.slipstick.com/developer/how-to-use-outlooks-vba-editor/

      Reply
      • aozmonster says

        November 11, 2014 at 11:11 pm

        Diane, I can't thank you enough for taking the time to do this for me. I will check out that link and let you know how it goes!

      • aozmonster says

        November 11, 2014 at 11:55 pm

        Okay, so I tried to place this into a module but received errors. So I placed it into ThisOutlookSession. But now I'm not sure what to do. When I click "run" nothing happens, and I still have appointments showing up as "free"

        Is there a way to have a "scanner" of some kind (for loop with an if statement maybe) that just changes every item in my calender showing as "free" to "busy"? And just have it run constantly, routinely, automatically, etc. That is really what I am trying to accomplish.

        I know html, C, java, css, many more, I've just never done visual basic. I'm sorryyyyyyy :(

      • Diane Poremsky says

        November 12, 2014 at 12:03 am

        This macro works with new events - it won't touch existing events. It runs at startup (if macro security is set to low) and watches for new appointments to be added to the calendar.

        Actually, in looking closer at it, it sets reminders, not free/busy. I changed it and tested it - i guess i didn't copy it and that macro was on my clipboard.
        replace this
        If Right(Appt.Subject, 8) = "Birthday" Then
        Appt.ReminderMinutesBeforeStart = 10800
        Appt.Categories = "Birthday"
        Appt.Save
        End If

        with

        Appt.busystatus = olbusy
        Appt.Save

      • aozmonster says

        November 12, 2014 at 12:12 am

        OH My goodness it works FLAWLESSLY!!!! You have lifted such a weight off my back.

        Even with old events, if I just delete then undo, they replace themselves as busy. This is going to save me so much time! Is there any way I can repay your generosity?

      • Diane Poremsky says

        November 12, 2014 at 12:21 am

        You're welcome. :) I don't think I would have thought of using delete and undo to trigger it. The best way to repay is to share my site with your friends who use outlook. :)

  22. Jeff says

    October 1, 2014 at 3:21 pm

    Is there a way to get this to not prompt when an invite to a meeting is recieved by outlook but only when you open it and accept the invite?

    Reply
    • Diane Poremsky says

      October 29, 2014 at 11:09 am

      An if statement that checks to see if it is accepted should do it.

      Reply
  23. Charles Kelsoe says

    September 30, 2014 at 4:50 pm

    I want to run this for all future all day appointments that are already in my calendar. How can I do that? It seemed from the instructions above that I could manually run the Application_startup() sub. I do - and it never hits the next sub.

    Reply
    • Diane Poremsky says

      September 30, 2014 at 8:23 pm

      No, it needs more changes to work 'manually'

      Private Sub ChangeReminder()
      Dim Item As Object

      For Each Item In ActiveExplorer.Selection
      On Error Resume Next
      If TypeOf Item Is Outlook.AppointmentItem Then
      Dim Appt As Outlook.AppointmentItem

      Set Appt = Item
      'Checks to see if all day and if it has a reminder set to true
      If Appt.AllDayEvent = True And Appt.ReminderSet = True Then

      'msgbox block - 3 lines
      ' If MsgBox("Do you want to remove the reminder?", vbYesNo) = vbNo Then
      ' Exit Sub
      ' End If

      'appt.reminderset block - 2 lines
      Appt.ReminderSet = False
      Appt.Save

      End If
      End If
      Next
      End Sub

      Reply
  24. Kyle Jones says

    September 14, 2014 at 2:05 pm

    Thank you for such a simple fix.

    Reply
  25. Max says

    July 29, 2014 at 12:58 pm

    I got the same error as David and added an End If after Set Appt = Item. I compiled it without error. However, I'm still getting the all day reminders. This is what mine looks like:

    Private Sub Application_Startup()
    Dim Ns As Outlook.NameSpace
    Set Ns = Application.GetNamespace("MAPI")
    Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items
    End Sub

    Private Sub Items_ItemAdd(ByVal Item As Object)
    On Error Resume Next
    Dim Appt As Outlook.AppointmentItem

    If TypeOf Item Is Outlook.AppointmentItem Then

    Set Appt = Item
    End If

    'Checks to see if all day and if it has a reminder set to true
    If Appt.AllDayEvent = True And Appt.ReminderSet = True Then
    End If

    'appt.reminderset block - 2 lines
    If Appt.ReminderMinutesBeforeStart = 1080 Then
    Appt.ReminderSet = False
    Appt.Save
    End If

    End Sub

    Reply
    • Diane Poremsky says

      July 29, 2014 at 9:58 pm

      Is Private WithEvents Items As Outlook.Items at the top of the macro? (It's not in what you pasted here.) Is the macro in thisoutlooksession and did you restart outlook or click in the application startup macro and click Run?

      Reply
    • Diane Poremsky says

      July 29, 2014 at 10:14 pm

      Are the appointments 18 hours? Also, the end if's should be grouped together at the end.

      Add appt.Categories = "Done!" right after the If allday appt = true line so you can see if the macro is working.

      Reply
  26. David Lipetz says

    July 9, 2014 at 5:06 pm

    Diane,

    Using your code as-is in OUtlook 2103, when I create an all day event I get the following error message "Compile error: Block If without End If".

    I am a newb at VB and do not see any obvious error. I tried it several times with same result.

    What am I doing wrong?

    Reply
    • Diane Poremsky says

      July 9, 2014 at 8:44 pm

      It's not always "you" doing something wrong. :) The messages says there are mismatched if/end if statements, and it's right - it looks like the code is missing an end if. Sorry about that. Try another end if after the last one.

      Reply
  27. hstorey219 says

    June 17, 2014 at 3:42 pm

    Hi Diane,
    I like the code for removing the reminder for all day meetings, but I found a problem and don't know how to fix it, When someone sends me an all day meeting request and selects no response needed. The code does not catch the meeting request.

    Reply
    • Diane Poremsky says

      June 17, 2014 at 10:54 pm

      This line tells it to look for appointments: If TypeOf Item Is Outlook.AppointmentItem Then
      For meetings, try

      If TypeOf Item Is Outlook.MeetingItem Then

      I'm not sure what you need for the 'don't require a response' ones, i'm on the road and its hard to look things up.

      Reply
  28. Genghis says

    February 6, 2014 at 12:36 am

    Hi Diane,

    I wanted to only use the change default reminder to 15hours. I had a lot of problems with the code until I found your hint to put "Private WithEvents Items As Outlook.Items" at the top of all code in "ThisOutlookSession". Also needed to remove additional last "End If" above "End Sub".

    Now I note the AllDay Reminder Default is still 18hours, but changes to 15hours after restart Outlook.

    Excellent! Thanks.

    Reply
    • Diane Poremsky says

      February 6, 2014 at 1:10 am

      Thanks for the reminder, I meant to remove the extra end if weeks ago and forgot. :(

      Reply
  29. Curtiss says

    December 6, 2013 at 8:28 pm

    Diane,
    I'm doing this in powershell, but it's the same thing.
    is there a magic way to set the reminderminutesbeforestart value to 'blank'?

    even if I set reminderset to 'false,', the ReminderMinutesBeforeStart value is still getting set whenever I create a new appointment. whether it's zero or 30 minutes, whatever the most-recently approved "default' reminder time is, the value is still there. if I set reminderminutesbeforestart=$null via script, it puts a zero in the value (it requires an integer), which I can see in outlook in the "remind beforehand" column, and which outlook still interprets as "remind zero minutes before start."

    although, if I use powershell to search all my calendar items for {reminderminutesbeforestart -eq 0}, it returns both A. items that appear in outlook with a "remind beforehand" of zero AND B. items that appear in outlook with a blank "remind beforehand" (the former would exclusively be events I've created myself with reminder set to 'none,' and the latter would exclusively be meeting invites I've received from other people).

    so, again, I can't find a way to delete the value of reminderminutesbeforestart. I believe that this value, and only this value, is what outlook.com/Hotmail uses to determine if and when to create a reminder. that is, outlook.com/hotmail doesn't care if the reminderset value is 'false' in outlook 2013. so if I create an appointment on This instance of outlook 2013 with no reminder, the appointment will still have a reminder on outlook.com/hotmail, which means any other instances of outlook 2013 (or any other activesync client) syncing with that outlook.com/hotmail account will get a reminder for that appointment.

    Reply
  30. rbmowbray says

    July 11, 2013 at 10:20 am

    Thanks for the new code but when I tried to implement it errors on the dim ByVal value.

    Also, could you verify that by turning off the reminders in the File, Options, Advanced, tab it won't affect any other reminders? (Task, meeting, etc.)

    I'm thinking different objects but wanted to verify this.

    Thanks-

    Reply
    • Diane Poremsky says

      July 12, 2013 at 4:20 am

      Turning off the reminders will affect all reminders - but its a good way to clear old reminders - when you turn it back on, the past due reminders are gone. (If i forgot to say 'turn it back on', sorry, I only meant to use it to clear past due reminders.) If you need to keep some past due reminders, then you'll need to either use code or edit the events. If you use a list view, in-cell editing, and show the reminder column, you can remove them fairly fast. For a few, click on the bells in the reminder column. For a lot, group by the reminder column and drag the Reminder: Yes group to the No group.

      Is the code in ThisOutlookSession and is this line:
      Private WithEvents Items As Outlook.Items
      at the top of all code in ThisOutlookSession?

      Reply
  31. rbmowbray says

    July 8, 2013 at 2:14 pm

    How do you remove calander reminders altogether without affecting the task reminders? Can this code be tweaked to eliminate all reminders from the past, present and future? Thanks

    Reply
    • Diane Poremsky says

      July 11, 2013 at 5:20 am

      To remove all reminders, you need to run it manually on the folder - to do that, you'd change this line:
      Private Sub Items_ItemAdd(ByVal Item As Object)

      to

      public Sub Items_ItemAdd()
      dim ByVal Item As Object

      remove the if and end if lines or change the conditions in the If line to apply it selectively.

      Or, to clear the reminders in the reminder dialog, disable reminders in File, Options, Advanced and restart Outlook.

      Reply
  32. Jason says

    June 12, 2013 at 9:45 pm

    Diane, hello again. I moved some things around and for some reason it is working now of course! This is great, my wife will be thrilled!

    Reply
    • Diane Poremsky says

      June 13, 2013 at 9:36 am

      Yes, gotta keep the wife happy. :) (I milked that one for all it was worth every time my husband had a corporate transfer. :))

      Reply
  33. Jason says

    June 12, 2013 at 8:55 pm

    Diane, thank you very much for the clear instructions on a very annoying topic!

    I am getting the message box, however the appointment still has an 18hr reminder for me. I haven't changed any code and am using Outlook 2010.

    Any typical mistakes I may have made?

    Reply
  34. Michel says

    January 3, 2013 at 2:21 am

    The above script helps me already a lot. I would like to use the script for my secretary, who manages the calenders of all our team members (app. 7 persons). If she adds an all-day event in one of the team members calenders, she would also like to disable the reminder.

    Any thoughts on how to achieve this with some modifications to the above scripts?

    Thanks in advance for replying.

    Reply
    • Diane Poremsky says

      January 3, 2013 at 2:46 pm

      How does she add the appointments? By opening their calendars and opening a new appointment?
      Change Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items to
      Set Items = Application.ActiveExplorer.CurrentFolder.Items
      That will allow it to apply to every calendar.

      If she wants reminders in her calendar, but not the others and wants to default to always no reminder and no warning, you can check if its her mailbox. I'll have too look up the code for that.

      Reply
  35. Oliver says

    October 21, 2012 at 11:02 am

    Oh noooooooooo... Hm, well, thank you anyway. The macro still helps me a lot for other things!

    Reply
  36. Oliver says

    October 20, 2012 at 8:54 am

    I don't get it... I have experience in VBA with Excel and Access but I got some problems here: I use Outlook 2010 together with Windows Live AddIn. So we are talking about a calender that is not stored in a local *.pst file but is synced via MAPI. The name of the calender is "Birthdays". I pasted the first whole code snipped but changed Set Items = Application.ActiveExplorer.CurrentFolder.Items

    To understand what the code is actually doing I wanted to debug it with pressing F8. I clicked in Application_Startup(), pressed F8 and the macro started. After the "Set Items" line it ended. Ok... but nothing happened. I still get birthday reminders. I wonder why Items_ItemAdd is not called. I think this is doing the whole work.

    Am I doing something wrong or do I have to add a loop that goes thru all calender entries?
    Thanks already for your help!

    Oliver

    PS. Hm, I think it worked with the standard calender which is called "Olivers Calender" but it did not work with "Birthdays". Phew, could you shortly explain me how this macro really works?

    Reply
    • Diane Poremsky says

      October 20, 2012 at 10:46 am

      Birthdays is a special case - that is a calendar Hotmail generates for your contacts. AFAIK, it's not editable (It annoyed me too much - I ended up deleting it from Hotmail). Sorry.

      Reply
  37. Susan Modlin says

    August 21, 2012 at 4:44 pm

    Is there a way to accomplish this on a Mac? Thanks.

    Reply
    • Diane Poremsky says

      August 21, 2012 at 4:59 pm

      I don't think so... and I just realized I forgot to save my Hackintosh image before I reformatted to install Win8 so i can't boot it to check. Dang.

      Reply
  38. Cliff Chambers says

    May 9, 2012 at 11:55 am

    You wre right. It was the smart quotes that were causing the problem. Will this method work with adding an event to someone else's calendar in the Shared folders as well?

    Reply
    • Diane Poremsky says

      May 9, 2012 at 2:29 pm

      As long as you identify the path to the specific folder, it will work on any folder.

      Reply
  39. Cliff Chambers says

    May 9, 2012 at 10:42 am

    The SharedCal folder is located at the same level as Calendar. The current folder line that you suggested works but I wanted to limit it to just the SharedCal folder.

    Reply
    • Diane Poremsky says

      May 9, 2012 at 10:54 am

      It should work then. Oh... did you replace the quotes? They are probably smart quotes.

      Reply
  40. Cliff Chambers says

    May 9, 2012 at 9:16 am

    I get a Run-time error '440';
    Array index out of bounds.

    I checked the spelling of my calendar name.

    Set Items = Session.GetDefaultFolder(olFolderCalendar).Parent.Folders(“SharedCal”).Items

    Reply
    • Diane Poremsky says

      May 9, 2012 at 10:05 am

      Where is the folder in your folder list? A subfolder of the Calendar, at the same level as the Calendar, or in another pst?

      You can also use Set Items = Application.ActiveExplorer.CurrentFolder.Items if you want to use it on the folder you are working in.

      Reply
  41. Cliff Chambers says

    May 9, 2012 at 7:31 am

    What if I have a shared calendar named "SharedCal" and I want to set the reminder to "none"? What part of the code needs to change to customize?

    Reply
    • Diane Poremsky says

      May 9, 2012 at 8:07 am

      You need to get the folder path and use that.

      Assuming the path is in the mailbox at the same level as the current calendar, replace the Set Items = Ns.. line with the following:
      'Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items
      Set Items = Ns.GetDefaultFolder(olFolderCalendar).Parent.Folders("SharedCal").Items

      If the folder is a subfolder of your calendar, use
      Set Items = Ns.GetDefaultFolder(olFolderCalendar).Folders("SharedCal").Items

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Visit Slipstick Forums.
What's New at Slipstick.com

Latest EMO: Vol. 31 Issue 7

Subscribe to Exchange Messaging Outlook






Support Services

Do you need help setting up Outlook, moving your email to a new computer, migrating or configuring Office 365, or just need some one-on-one assistance?

Our Sponsors

CompanionLink
ReliefJet
  • Popular
  • Latest
  • Week Month All
  • Use Classic Outlook, not New Outlook
  • How to Remove the Primary Account from Outlook
  • Reset the New Outlook Profile
  • Disable "Always ask before opening" Dialog
  • How to Hide or Delete Outlook's Default Folders
  • Change Outlook's Programmatic Access Options
  • Removing Suggested Accounts in New Outlook
  • Understanding Outlook's Calendar patchwork colors
  • This operation has been cancelled due to restrictions
  • Shared Mailboxes and the Default 'Send From' Account
  • Sync Issues and Errors with Gmail and Yahoo accounts
  • Error Opening iCloud Appointments in Classic Outlook
  • Opt out of Microsoft 365 Companion Apps
  • Mail Templates in Outlook for Windows (and Web)
  • Urban legend: Microsoft Deletes Old Outlook.com Messages
  • Buttons in the New Message Notifications
  • Move Deleted Items to Another Folder Automatically
  • Open Outlook Templates using PowerShell
  • Count and List Folders in Classic Outlook
  • Google Workspace and Outlook with POP Mail
Ajax spinner

Recent Bugs List

Microsoft keeps a running list of issues affecting recently released updates at Fixes or workarounds for recent issues in classic Outlook (Windows).

For new Outlook for Windows: Fixes or workarounds for recent issues in new Outlook for Windows .

Outlook for Mac Recent issues: Fixes or workarounds for recent issues in Outlook for Mac

Outlook.com Recent issues: Fixes or workarounds for recent issues on Outlook.com

Office Update History

Update history for supported Office versions is at Update history for Office

Outlook Suggestions and Feedback

Outlook Feedback covers Outlook as an email client, including Outlook Android, iOS, Mac, and Windows clients, as well as the browser extension (PWA) and Outlook on the web.

Outlook (new) Feedback. Use this for feedback and suggestions for Outlook (new).

Use Outlook.com Feedback for suggestions or feedback about Outlook.com accounts.

Other Microsoft 365 applications and services




New Outlook Articles

Sync Issues and Errors with Gmail and Yahoo accounts

Error Opening iCloud Appointments in Classic Outlook

Opt out of Microsoft 365 Companion Apps

Mail Templates in Outlook for Windows (and Web)

Urban legend: Microsoft Deletes Old Outlook.com Messages

Buttons in the New Message Notifications

Move Deleted Items to Another Folder Automatically

Open Outlook Templates using PowerShell

Count and List Folders in Classic Outlook

Google Workspace and Outlook with POP Mail

Newest Code Samples

Open Outlook Templates using PowerShell

Count and List Folders in Classic Outlook

Insert Word Document into Email using VBA

Warn Before Deleting a Contact

Use PowerShell to Delete Attachments

Remove RE:, FWD:, and Other Prefixes from Subject Line

Change the Mailing Address Using PowerShell

Categorize @Mentioned Messages

Send an Email When You Open Outlook

Delete Old Calendar Events using VBA

VBA Basics

How to use the VBA Editor

Work with open item or selected item

Working with All Items in a Folder or Selected Items

VBA and non-default Outlook Folders

Backup and save your Outlook VBA macros

Get text using Left, Right, Mid, Len, InStr

Using Arrays in Outlook macros

Use RegEx to extract message text

Paste clipboard contents

Windows Folder Picker

Custom Forms

Designing Microsoft Outlook Forms

Set a custom form as default

Developer Resources

Developer Resources

Developer Tools

VBOffice.net samples

SlovakTech.com

Outlook MVP David Lee

Repair PST

Convert an OST to PST

Repair damaged PST file

Repair large PST File

Remove password from PST

Merge Two Data Files

Sync & Share Outlook Data

  • Share Calendar & Contacts
  • Synchronize two computers
  • Sync Calendar and Contacts Using Outlook.com
  • Sync Outlook & Android Devices
  • Sync Google Calendar with Outlook
  • Access Folders in Other Users Mailboxes

Diane Poremsky [Outlook MVP]

Make a donation

Mail Tools

Sending and Retrieval Tools

Mass Mail Tools

Compose Tools

Duplicate Remover Tools

Mail Tools for Outlook

Online Services

Calendar Tools

Schedule Management

Calendar Printing Tools

Calendar Reminder Tools

Calendar Dates & Data

Time and Billing Tools

Meeting Productivity Tools

Duplicate Remover Tools

Productivity

Productivity Tools

Automatic Message Processing Tools

Special Function Automatic Processing Tools

Housekeeping and Message Management

Task Tools

Project and Business Management Tools

Choosing the Folder to Save a Sent Message In

Run Rules on messages after reading

Help & Suggestions

Submit Outlook Feature Requests

Slipstick Support Services

Buy Microsoft 365 Office Software and Services

Visit Slipstick Forums.

What's New at Slipstick.com

Home | Outlook User | Exchange Administrator | Office 365 | Outlook.com | Outlook Developer
Outlook for Mac | Common Problems | Utilities & Addins | Tutorials
Outlook & iCloud Issues | Outlook Apps
EMO Archives | About Slipstick | Slipstick Forums
Submit New or Updated Outlook and Exchange Server Utilities

Send comments using our Feedback page
Copyright © 2026 Slipstick Systems. All rights reserved.
Slipstick Systems is not affiliated with Microsoft Corporation.