shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Word VBA】コメントをキー一発で削除するマクロの作り方|モダン・従来両対応

Wordのコメント削除をショートカットキーに登録したいとき、最近のWordの標準になっているモダン コメントでは、1件削除のショートカットは、クイック アクセス ツールバーを活用した方法になります。

クイック アクセス ツールバーで実現するAlt + 数字キーのショートカットで削除ではなく、任意のキーを割り当てたい場合はVBAを使うと可能です。

💡 VBAを使わずに設定したい場合は、クイック アクセス ツール バーを使う方法があります。ショートカットは Alt + 数字キーの形式に限られますが、設定が手軽です。詳しくは 【Word】コメントをAlt+数字キーで素早く削除する方法 - shikumika's diary をご覧ください。

内容:

動作確認のWordは「Microsoft® Word for Microsoft 365 MSO」 (バージョン 2604)です。

背景:Wordのコメント削除とショートカットの課題

Wordのコメントには従来のコメントモダン コメントの2種類があり、バージョンや設定によってどちらが使われているかが異なります。

削除方法とショートカットの対応状況をまとめると以下のとおりです。

削除の種類 従来のコメント モダン コメント
1件削除(標準機能・任意キー) DeleteAnnotation で登録可 ❌ 登録不可
1件削除(VBAマクロ・任意キー) ReviewDeleteComment で対応 ReviewDeleteComment で対応
1件削除(標準機能・Alt+数字キー) ✅ クイック アクセス ツール バーで可 ✅ クイック アクセス ツール バーで可
解決済みを一括削除(標準機能) ❌ 非対応 DeleteAllResolvedComments で可
全件一括削除(標準機能) DeleteAllCommentsInDoc で可 DeleteAllCommentsInDoc で可

モダン コメントの「1件削除に任意キーを割り当てたい」という場面だけ手段がない状態になります。 CommandBars.ExecuteMso "ReviewDeleteComment" をVBAマクロ経由で呼び出すことで、この課題を解決できます。

ℹ️ 従来のコメントを使わざるを得ない環境での1件削除ショートカットは 【Word】コメントを1件ずつ確認しながら素早く削除するショートカットの作り方 - shikumika's diary をご覧ください。

使用するコマンドについて

今回使用するのは CommandBars.ExecuteMso "ReviewDeleteComment" です。 Wordのリボンコマンドを VBA から直接呼び出す方法で、従来のコメント・モダン コメントの両方に対応しています。

ℹ️ CommandBars.ExecuteMso の詳細は 【VBA】リボン操作を自動化!CommandBars.ExecuteMsoの基本 - shikumika's diary をご覧ください。

マクロの作成手順

1. VBAエディタを開く

Alt + F11 を押して VBAエディタを開きます。

2. 標準モジュールを追加する

VBAエディタ左側の「プロジェクト」ウィンドウで保存先を選択してから、メニューバーの 「挿入」→「標準モジュール」 をクリックします。

  • 自身のPC環境にある「すべてのWord文書」で使いたい場合:Normal.dotm を選択
  • 特定のファイルのみで使いたい場合:該当ファイル名を選択

ℹ️ 保存先の詳細は 【Word VBA】マクロはどこに保存する(初心者向け解説) - shikumika's diary をご覧ください。

3. マクロを入力する

以下のコードを貼り付けます。

Sub コメントを削除()
    ' 選択中のコメントを1件削除する
    ' 従来のコメント・モダン コメントの両方に対応
    CommandBars.ExecuteMso "ReviewDeleteComment"
End Sub

ℹ️ マクロ名は日本語でも英語でも問題ありません。ショートカットキーの割り当て時に使用します。

Normal.dotmの「標準モジュール」にコメントを削除のマクロが入力されている状態
Normal.dotmの「標準モジュール」にマクロ登録のイメージ

4. マクロを保存する

Ctrl + S で保存します。

ショートカットキーの割り当て手順

マクロを任意のキーに割り当てます。

1. 「キーボードのユーザー設定」を開く

「ファイル」→「オプション」→「リボンのユーザー設定」 を開き、右ペイン下部の 「ショートカット キー:ユーザー設定(T)...」 をクリックします。

2. マクロを選択する

  1. 「分類(C)」→ 「マクロ」 を選択
  2. 「コマンド(O)」→ 「コメントを削除」(先ほど作成したマクロ名)を選択

3. キーを割り当てて保存する

「割り当てるキーを押してください(N)」の入力欄をクリックし、割り当てたいキーを実際に押します(例:Alt + D)。

「現在の割り当て:[なし]」 と表示されていれば競合していません。 「割り当て(A)」 をクリックして保存し、「閉じる」でダイアログを閉じます。

⚠️ すでに別のコマンドが割り当てられているキーを選ぶと、「現在の割り当て:〇〇」と表示されます。その場合は別のキーの組み合わせを試してください。キーの競合確認など詳細な手順は 【Word】コメントを1件ずつ確認しながら素早く削除するショートカットの作り方 - shikumika's diary も参考にしてください。

動作を確認する

削除したいコメントのバルーン(吹き出し部分)をクリックして選択状態にします。 設定したショートカットキーを押してコメントが消えれば設定完了です。

ℹ️ 本文テキストにカーソルがある状態でショートカットを押すと、マクロがエラーになります。必ずコメントを選択してから押してください。 もし、エラーの発生を抑止したい場合は、以下のコードに変更してください。

Sub コメントを削除()
 
    ' 対象のコマンド(コメント削除ボタン)が現在有効かどうかを判定
    ' 有効なら選択中のコメントを1件削除する
    ' 従来のコメント・モダン コメントの両方に対応
    If CommandBars.GetEnabledMso("ReviewDeleteComment") Then
        CommandBars.ExecuteMso "ReviewDeleteComment"
    End If
End Sub

まとめ

  • CommandBars.ExecuteMso "ReviewDeleteComment" を使うと、従来・モダン両方のコメントを1件削除できる。
  • マクロは VBAエディタAlt + F11)で作成し、Normal.dotm に保存するとすべてのドキュメントで使える。
  • ショートカットキーは 「キーボードのユーザー設定」 の分類「マクロ」から任意のキーに割り当てられる。
  • Alt + 数字キーに限定されるクイック アクセス ツール バーと異なり、任意のキーを自由に設定できる

あわせて読みたい

shikumika.org shikumika.org shikumika.org shikumika.org