メインコンテンツへスキップ

Outlook: 会議の主催者としてカレンダーにキャンセルした会議を保持する方法は?

Author: Sun Last Modified: 2025-05-23

Outlookでは、会議の主催者として、会議をキャンセルすると、その会議は自動的にカレンダーから削除されます。場合によっては、キャンセルされた会議をカレンダーに残しておき、いくつかのマークを行いたい場合があります。しかし、Outlookにはこの作業を処理できる組み込み機能はありません。このチュートリアルでは、会議をキャンセルしながら予定として保持するための2つのVBAコードを提供します。

キャンセルされた会議を予定としてコピーするためのVBAコード


キャンセルされた会議を予定としてコピーするためのVBAコード

ここでは、会議をキャンセルし、同時に予定としてコピー&ペーストするための2つのコードを紹介します。

注意:コードを有効にする前に、次の2つのオプションがチェックされていることを確認してください:

Outlookを有効にし、[ファイル] > [オプション] をクリックします。Outlookオプションウィンドウで、 [トラストセンター] タブをクリックし、[トラストセンターの設定] をクリックします。トラストセンターウィンドウで、 [マクロの設定] タブをクリックし、 [すべてのマクロを有効にする(推奨されません。潜在的に危険なコードが実行される可能性があります)] [インストールされているアドインにマクロのセキュリティ設定を適用する] オプションをチェックします。[OK] > [OK] をクリックしてウィンドウを閉じます。Outlookを再起動 します。

doc keep meeting in calendar 1
doc keep meeting in calendar 2

1. Outlookのカレンダービューに切り替え、キャンセルしたい会議を選択します。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
doc keep meeting in calendar 3

3. [実行 ] ボタンをクリックするか、F5 キーを押します。これで選択された会議はキャンセルされ、「Cancled & subjet」という名前の新しい予定が作成されます。

doc keep meeting in calendar 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 キーを押すと、[フォルダの選択] ダイアログが表示され、予定を貼り付けるカレンダーフォルダを選択できます。次に、[OK] をクリックします。

doc keep meeting in calendar 5

これで、会議はキャンセルされ、選択したカレンダーフォルダに予定としてコピー&ペーストされました。

doc keep meeting in calendar 6

最高のオフィス生産性ツール

速報: Kutools for Outlook が無料版をリリース!

新しい Kutools for Outlook の無料版を体験してください。70以上の素晴らしい機能が永遠に使えます!今すぐダウンロードをクリック!

🤖 Kutools AI : 高度なAI技術を使用して、メールの返信、要約、最適化、拡張、翻訳、作成を簡単に行います。

📧 メール自動化: 自動返信 (POPとIMAPで利用可能) / メール送信のスケジュール / メール送信時にルールによる自動 CC/BCC / 自動転送 (高度なルール) / 自動挨拶追加 / 複数の宛先を持つメールを個別のメールに自動的に分割...

📨 メール管理: メールの取り消し / 件名やその他によるスパムメールのブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理...

📁 添付ファイルプロ: バッチ保存 / バッチ切り離し / バッチ圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮...

🌟 インターフェースマジック: 😊より美しくクールな絵文字 /重要なメールが来たときに通知 / クローズ中ではなくOutlookを最小化...

👍 ワンクリックの驚き: 全員に【Attachment】付きで返信 / フィッシング対策メール / 🕘送信者のタイムゾーンを表示...

👩🏼‍🤝‍👩🏻 連絡先とカレンダー: 選択したメールから連絡先を一括追加 /連絡先グループを個別のグループに分割 / 誕生日のリマインダーを削除...

Kutools for Outlook をワンクリックで即座にアンロック。待たずに今すぐダウンロードして効率を高めましょう!

kutools for outlook features1 kutools for outlook features2