Note: The other languages of the website are Google-translated. Back to English

Outlook: How to keep cancel meeting in calendar as organizer?

In Outlook, as a meeting organizer, when you cancel the meeting, the meeting will be auto deleted from the calendar. In some cases, you may want to keep the canceled meetings in the calendar to do some marks. However, there are no built-in features in Outlook that can handle this job. In this tutorial, it provides two VBA codes for keeping the meeting as an appointment while canceling.

VBA codes for copying canceled meeting as appointment


VBA codes for copying canceled meeting as appointment

Here are two codes for canceling the meeting and copying and pasting it as an appointment at the same time.

Note:before you enable the code, please make sure that these two options are checked:

Enable Outlook, click File > Options, in Outlook Options window, click Trust Center tab, and click Trust Center Settings, then in the Trust Center window, click Macro Settings tab, check Enable all macros (not recommended; potentially dangerous code can run) and Apply macro security settings to installed add-ins options. Click OK > OK to close the windows. Restart Outlook.

doc keep meeting in calendar 1

doc keep meeting in calendar 2

1. Swift to Outlook Calendar view, and select the meeting that you want to cancel Press Alt + F11 keys to enable the Microsoft Visual Basic for Applications window.

2. Click Insert > Module to insert a new blank module. Then copy and paste below code to it.

Code: Copy meeting as appointment and cancel it

Sub CopyMeetingAsAppointmentBeforeCancel()
'UpdatebyExtendoffice20221129
Dim xAppointmentItem As AppointmentItem
Dim xMeetingItem As AppointmentItem
On Error Resume Next
Set xMeetingItem = GetCurrentItem()
Set xAppointmentItem = Application.CreateItem(olAppointmentItem)
With xAppointmentItem
  .Subject = "Canceled: " & xMeetingItem.Subject
  .Start = xMeetingItem.Start
  .Duration = xMeetingItem.Duration
  .Location = xMeetingItem.Location
  .Body = xMeetingItem.Body
  .Save
  .Move Application.ActiveExplorer.CurrentFolder
End With
With xMeetingItem
  .MeetingStatus = olMeetingCanceled
  .Send
  .Delete
End With
Set xAppointmentItem = Nothing
Set xMeetingItem = Nothing
End Sub

Function GetCurrentItem() As Object
  On Error Resume Next
  Select Case TypeName(Application.ActiveWindow)
    Case "Explorer"
      Set GetCurrentItem = Application.ActiveExplorer.Selection.Item(1)
    Case "Inspector"
      Set GetCurrentItem = Application.ActiveInspector.CurrentItem
  End Select
End Function

doc keep meeting in calendar 3

3. Click Run button or press F5 key, now the selected meeting has been canceled and a new appointment named Cancled & subjet.

doc keep meeting in calendar 4

If you want to copy and paste the meeting as an appointment in another calendar and then cancel the meeting, use below code:

Code: Copy meeting as appointment in another calendar and cancel it

Sub CopyMeetingAsAppointmentToCalenderBeforeCancel()
'Updatebyextendoffice20221129
Dim xDestCalendar As Outlook.MAPIFolder
Dim xNameSpace As Outlook.NameSpace
Dim xAppointmentItem As AppointmentItem
Dim xMeetingItem As AppointmentItem
On Error Resume Next
Set xNameSpace = Application.GetNamespace("MAPI")
Set xDestCalendar = xNameSpace.PickFolder
If xDestCalendar.DefaultItemType <> olAppointmentItem Then
  MsgBox "Please Select calendar folder. ", vbOKOnly + vbInformation, "Kutools for Outlook"
  Exit Sub
End If
Set xMeetingItem = GetCurrentItem()
Set xAppointmentItem = Application.CreateItem(olAppointmentItem)
With xAppointmentItem
  .Subject = "Canceled: " & xMeetingItem.Subject
  .Start = xMeetingItem.Start
  .Duration = xMeetingItem.Duration
  .Location = xMeetingItem.Location
  .Body = xMeetingItem.Body
  .Save
  .Move xDestCalendar
End With
With xMeetingItem
  .MeetingStatus = olMeetingCanceled
  .Send
  .Delete
End With
Set xDestCalendar = Nothing
Set xNameSpace = Nothing
Set xAppointmentItem = Nothing
Set xMeetingItem = Nothing
End Sub

Function GetCurrentItem() As Object
  On Error Resume Next
  Select Case TypeName(Application.ActiveWindow)
    Case "Explorer"
      Set GetCurrentItem = Application.ActiveExplorer.Selection.Item(1)
    Case "Inspector"
      Set GetCurrentItem = Application.ActiveInspector.CurrentItem
  End Select
End Function

Click Run button or press F5 key, a Select Folder dialog pops out for you to choose a calendar folder to paste the appointment, then click OK.

doc keep meeting in calendar 5

Now the meeting has been canceled and copied and pasted as an appointment in the calendar folder you choose.

doc keep meeting in calendar 6


Kutools for Outlook - Brings 100 Advanced Features to Outlook, and Make Work Much Easier!

  • Auto CC/BCC by rules when sending email; Auto Forward Multiple Emails by custom; Auto Reply without exchange server, and more automatic features...
  • BCC Warning - show message when you try to reply all if your mail address is in the BCC list; Remind When Missing Attachments, and more remind features...
  • Reply (All) With All Attachments in the mail conversation; Reply Many Emails in seconds; Auto Add Greeting when reply; Add Date into subject...
  • Attachment Tools: Manage All Attachments in All Mails, Auto Detach, Compress All, Rename All, Save All... Quick Report, Count Selected Mails...
  • Powerful Junk Emails by custom; Remove Duplicate Mails and Contacts... Enable you to do smarter, faster and better in Outlook.
shot kutools outlook kutools tab 1180x121
shot kutools outlook kutools plus tab 1180x121
 
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet

Follow Us

Copyright © 2009 - www.extendoffice.com. | All rights reserved. Powered by ExtendOffice. | Sitemap
Microsoft and the Office logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries.
Protected by Sectigo SSL