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.
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
More Run a Script Samples:
- Autoaccept a Meeting Request using Rules
- Automatically Add a Category to Accepted Meetings
- Blocking Mail From New Top-Level Domains
- Convert RTF Messages to Plain Text Format
- Create a rule to delete mail after a number of days
- Create Appointment From Email Automatically
- Delegates, Meeting Requests, and Rules
- Forward meeting details to another address
- How to Change the Font used for Outlook's RSS Feeds
- How to Process Mail After Business Hours
- Move messages CC'd to an address
- Open All Hyperlinks in an Outlook Email Message
- Outlook 2016 and Run-a-Script Rules
- Outlook AutoReplies: One Script, Many Responses
- Outlook's Rules and Alerts: Run a Script
- Process messages received on a day of the week
- Read Outlook Messages using Plain Text
- Receive a Reminder When a Message Doesn't Arrive?
- Run a Script Rule: Change Subject then Forward Message
- Run a script rule: Reply to a message
- Run a Script Rule: Send a New Message when a Message Arrives
- Run Rules Now using a Macro
- Sort messages by Sender domain
- Use a Rule to delete older messages as new ones arrive
- Use a run a script rule to mark messages read