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

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

Author: Sun Last Modified: 2025-08-06

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 を100以上の素晴らしい機能とともに体験してください!今すぐダウンロード!

🤖 Kutools AI : 高度なAI技術を活用し、メールの返信、要約、最適化、拡張、翻訳、作成を効率良くこなします。

📧 メール自動化: 自動返信(POPとIMAPに対応) / メール送信のスケジュール設定 /送信時にルールで自動 CC/BCC / 高度なルールによる自動転送 / 挨拶文を自動追加 / 複数宛先のメールを自動で個別のメールに分割 ...

📨 メール管理: メールの取り消し / 件名やその他の条件で迷惑メールをブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理 ...

📁 添付ファイルPro: 一括保存 / 一括切り離し / 一括圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮 ...

🌟 インターフェースマジック: 😊もっとキレイで楽しい絵文字 /重要なメールの到着をお知らせ / Outlookを閉じずに最小化 ...

👍 ワンクリック便利機能: 全員に【Attachment】付きで返信 /迷惑メール対策 / 🕘送信者のタイムゾーン表示 ...

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

お好みの言語で Kutools をご利用いただけます ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上をサポート!

Kutools for Outlook はワンクリックですぐにアンロックできます。今すぐダウンロードして効率をアップしましょう!

kutools for outlook features1 kutools for outlook features2