Keep Canceled Meetings on Outlook's Calendar

Last reviewed on May 8, 2014

Some users like to keep a history of all appointments, including canceled meetings. However, when you delete the cancellation notice from your Inbox, it deletes the meeting from the calendar too.

I want to keep canceled meetings on my calendar as it is useful when reviewing my calendar and wondering why I didn’t attend other meetings.

Most people want to clear out their Inbox and delete the cancellation notice, but to avoid removing the canceled meeting from your calendar, you need to keep the meeting cancellation notice. As long as the meeting cancellation notice remains in your mailbox and out of the Deleted Items folder, the meeting item remains on your calendar.

Solutions

Meeting invitees have two options: They can create a folder to move the meeting cancellation notices into or they can use use a run a script rule to convert canceled meetings into appointments when the cancellation notices arrive. This will allow to you delete the meeting cancellation notice.

These options won't work for the meeting organizer. While you can get the cancelled meeting from the Deleted Items folder and move it back to the calendar, it's still a meeting. If you decide to delete it, Outlook will want to send another cancellation.

If the organizer needs to keep a copy of canceled meetings, he needs to create a copy of the meeting before canceling it. In Outlook 2010, right click and drag the meeting to a different calendar folder to create a copy. On page 2, we have a code sample organizers can use to copy the meeting request before canceling it.

Canceled meetings are left on Resource calendars. See Remove Canceled Meeting Requests from Resource Calendarfor a VBA sample that can remove the cancellation notices from Resource calendars.

Run a Script Rule to Convert a Canceled Meeting to an Appointment

Open Outlook's VBA editor (Alt+F11), expand Microsoft Office Outlook Objects then double click on ThisOutlookSession. Type or paste the code into the module, then create the rule with the 'run script' Action and select this script.

Sub CopyMeetingtoAppointment(oRequest As MeetingItem)

If oRequest.MessageClass <> "IPM.Schedule.Meeting.Canceled" Then
  Exit Sub
End If

Dim oAppt As AppointmentItem
Dim cAppt As AppointmentItem

Set cAppt = oRequest.GetAssociatedAppointment(True)
Set oAppt = Application.CreateItem(olAppointmentItem)

'I added (Rule) to the subject so I could see the rule was working. 
    oAppt.Subject = "(Rule) Canceled: " & cAppt.Subject
    oAppt.Start = cAppt.Start
    oAppt.Duration = cAppt.Duration
    oAppt.Location = cAppt.Location
    oAppt.Display
    oAppt.Save

    Set oAppt = Nothing
    Set cAppt = Nothing
End Sub

Next page >> Macro for Organizers to Copy then Cancel Meetings

Written by

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.

Please post long or more complicated questions at Outlookforums.

17 responses to “Keep Canceled Meetings on Outlook's Calendar”

  1. Mark Norden

    Your "Run a Script Rule to Convert a Canceled Meeting to an Appointment" has been extremely helpful preventing those "blank spots" on my calendar and why didn't I use the time. But I also have users that do continues updates on meetings by changing the time to move it forward to new days. That still leaves blank spots and missing meeting time on my calendar. Is there a way to perform this same function when a meeting update that changes just the date & time?

  2. Larry Sinkuler

    Keep Canceled Meetings on Outlook’s Calendar
    is hter somewhere i can find how to then create the rule with the 'run script' Action and select this script.

  3. Bernt Swendgaard

    Is there any way of "un-cancelling" a serie of repeating meetings? I have cancelled one of these meetings, and it seems like even the new invites (due to the "lost" serie) in the same meeting serie arrives to me as already cancelled. Any fix?

  4. Bernt Swendgaard

    OK, Thanks Diane.

    I might have acceptet the meeting on an Apple devise myself...
    Good to know for future handling of meeings replies.. not to be accepted on Apple devices... for now..

  5. Scott

    Thanks for this ...its exactly what I need.

    I've followed the steps, but its not working. I have Outlook 2010.

    Other than a 'run the script' action in rules, is there something specific I need in the rules to make this work?

  6. Scott

    Thanks Diane ... there are 4 options in that dialog ... 1) Disable all, 2) Notify for digitally signed, all others disabled, 3) notifications for all macros, and 4) enable all macros. Mine was set to option 2 ... I changed it to option 3 and then to option 4, as well as restarted. Any other suggestions?

  7. Scott

    My intent was to copy from above as is:

    Sub CopyMeetingtoAppointment(oRequest As MeetingItem)

    If oRequest.MessageClass "IPM.Schedule.Meeting.Canceled" Then
    Exit Sub
    End If

    Dim oAppt As AppointmentItem
    Dim cAppt As AppointmentItem

    Set cAppt = oRequest.GetAssociatedAppointment(True)
    Set oAppt = Application.CreateItem(olAppointmentItem)

    'I added (Rule) to the subject so I could see the rule was working.
    oAppt.Subject = "(Rule) Declined: " & cAppt.Subject
    oAppt.Start = cAppt.Start
    oAppt.Duration = cAppt.Duration
    oAppt.Location = cAppt.Location
    oAppt.Display
    oAppt.Save

    Set oAppt = Nothing
    Set cAppt = Nothing
    End Sub

    Wondering if there's an issue with my task rule?

  8. Greg

    Hi Diane, thanks so much for all you work! I had a quick question...I'd like to add this code to your 'copy appt. to another calendar' code (http://www.slipstick.com/developer/copy-new-appointments-to-another-calendar-using-vba/), and was wonder if you could help me with the run line? How can I initiate this with curCal_ItemChange?

    Thanks in advance!

  9. Scott

    I only have the one action ... it says:
    Apply this rule after the message arrives run Project1.ThisOutlookSession.CopyMeetingtoAppointment

Leave a Reply

If the Post Coment button disappears, press your Tab key.