跳到主要內容
 

Outlook:如何作為組織者在日曆中保留取消會議?

在 Outlook 中,作為會議組織者,當您取消會議時,該會議將自動從日曆中刪除。 在某些情況下,您可能希望將取消的會議保留在日曆中以做一些標記。 但是,Outlook 中沒有可以處理此工作的內置功能。 在本教程中,它提供了兩個 VBA 代碼,用於在取消時將會議保留為約會。

將取消的會議複製為約會的 VBA 代碼


將取消的會議複製為約會的 VBA 代碼

作者:孫 最後修改時間:2024-09-14

這裡有兩個代碼,用於取消會議並同時將其複制並粘貼為約會。

注意:在啟用代碼之前,請確保選中這兩個選項:

啟用Outlook,單擊 文件 > 選項, 在 Outlook 選項窗口中,單擊 信託中心 選項卡,然後單擊 信任中心設置,然後在“信任中心”窗口中,單擊 宏設置 選項卡,檢查 啟用所有的宏(不推薦;有潛在危險的代碼可以運行) 將宏安全設置應用於已安裝的加載項 選項。 點擊 OK > OK 關閉窗戶。 重新啟動 外表。

文檔在日曆 1 中保持會議
文檔在日曆 2 中保持會議

1. Swift 到 Outlook 日曆視圖,然後選擇要取消的會議 按 其他 + F11 鍵以啟用“ Microsoft Visual Basic應用程序”窗口。

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 發布 免費版本!

體驗全新的Kutools for Outlook 免費版本擁有 70 多個令人難以置信的功能,您可以永遠使用! 點擊立即下載!

🤖 Kutools人工智慧 : 使用先進的人工智慧技術輕鬆處理電子郵件,包括回覆、總結、優化、擴展、翻譯和撰寫電子郵件。

📧 電子郵件自動化: 自動回覆(適用於 POP 和 IMAP)  /  安排發送電子郵件  /  發送電子郵件時按規則自動抄送/密件副本  /  自動轉送(進階規則)   /  自動添加問候語   /  自動將多收件者電子郵件拆分為單獨的訊息 ...

📨 電子郵件管理: 撤回電子郵件  /  按主題和其他人阻止詐騙電子郵件  /  刪除重複的電子郵件  /  進階搜索  /  合併資料夾 ...

📁 附件專業版批量保存  /  批量分離  /  批量壓縮  /  自動保存   /  自動分離  /  自動壓縮 ...

🌟 介面魔法: 😊更多又漂亮又酷的表情符號   /  當重要電子郵件到來時提醒您  /  最小化 Outlook 而不是關閉 ...

👍 一鍵奇蹟: 使用傳入附件回覆全部  /   反網路釣魚電子郵件  /  🕘顯示寄件者的時區 ...

👩🏼‍🤝‍👩🏻 通訊錄和行事曆: 從選定的電子郵件中大量新增聯絡人  /  將聯絡人群組拆分為各組  /  刪除生日提醒 ...

只需單擊即可立即解鎖 Kutools for Outlook -永久免費。不要等待,立即下載並提高您的效率!

Outlook 的 kutools 功能1 Outlook 的 kutools 功能2