KutoolsforOffice — 一套方案,五大工具。事半功倍。

Outlook:作为会议组织者,如何在日历中保留已取消的会议?

作者Sun修改日期

在 Outlook 中,作为会议组织者,取消会议后,会议会自动从日历中移除。但在某些情况下,您可能希望将已取消的会议保留在日历中以便标记。然而,Outlook 并未内置此功能。本教程为您提供了两段 VBA 代码,帮助您在取消会议的同时,将其以日程事项的形式保留在日历中。

用于将已取消的会议复制为日程事项的 VBA 代码


用于将已取消的会议复制为日程事项的 VBA 代码

以下提供了两段代码,可在取消会议的同时,将其内容复制并粘贴为日程事项。

注意:在启用代码前,请确保已勾选以下两个选项:

启动 Outlook,点击文件 > 选项,在 Outlook 选项窗口中,点击信任中心选项卡,再点击信任中心设置。在信任中心窗口中,点击宏设置选项卡,勾选启用所有宏(不推荐;可能会运行有潜在危险的代码)将宏安全性设置应用于已安装的加载项。点击确定 > 确定 关闭窗口。重启 Outlook,即可完成设置。

日历中保留会议 1
日历中保留会议 2

1. 切换到日历视图,选中您要取消的会议后,按下 Alt+F11 组合键,即可打开 Microsoft Visual Basic for Applications 窗口。

2. 点击插入>模块,即可插入一个新的空模块。然后将以下代码复制并粘贴到该模块中。

代码:将会议以日程事项方式复制并取消

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
日历中保留会议 3

3. 点击运行按钮或按下 F5 键,即可取消当前选中的会议,并自动生成一个名为“Cancled & subjet”的新约会。

日历中保留会议 4

如果您想将会议以日程事项方式复制粘贴到其他日历后再取消会议,请使用以下代码:

代码:将会议以日程事项方式复制到其他日历并取消

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

点击运行按钮或按下 F5 键,即可弹出选择文件夹对话框,方便您选择一个日历文件夹粘贴日程事项,最后点击确定。

日历中保留会议 5

当前会议已被取消,并已作为日程事项复制粘贴到您指定的日历文件夹中。

日历中保留会议 6

最佳办公效率工具

体验全新 Kutools for Outlook,畅享 100+ 强大功能!立即点击下载,不容错过!

🤖KUTOOLS AI采用先进 AI 技术,轻松处理邮件,涵盖回复、摘要、优化、扩展、翻译及撰写等功能。

📧 邮件自动化自动答复(支持 POP 和 IMAP)/定时发送邮件/发送邮件时按规则自动抄送密送/自动转发(高级规则)/自动添加称呼/自动将多收件人邮件拆分为单独信息……

📨 邮件管理撤回邮件/按主题等条件拦截诈骗邮件/删除重复邮件/高级搜索/整合文件夹……

📁 附件增强批量保存/批量分离/批量压缩/自动保存/自动拆离/自动压缩……

🌟 界面魔法😊更多美观时尚表情/重要邮件到达时提醒您/最小化 Outlook 而不是直接关闭……

👍 一键精彩功能带附件全部答复/反钓鱼邮件/🕘显示发送者当前时间时区……

👩🏼‍🤝‍👩🏻 联系人与日历批量从选定邮件中提取添加联系人/将联系人组拆分为个人组/移除生日提醒……

在您的首选语言中畅享 Kutools —— 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

一键解锁 Kutools for Outlook,告别等待,立即下载,让效率倍增!

kutools for outlook 功能1kutools for outlook 功能2

🚀 一键下载 — 即可获取全部 Office 加载项

强烈推荐:Kutools for Office(5 合 1)

一键下载五个安装包,即可同时获得 Kutools for Excel、Outlook、Word、PowerPointOffice Tab Pro立即点击下载!

  • 一键便捷:只需一次操作,即可下载全部五个安装包。
  • 🚀 轻松应对各类 Office 任务:随时按需安装所需插件,助您高效办公,不容错过!
  • 🧰 包含:Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint