【Word VBA】コメントを対応済み(完了)とするWordマクロ

2018年6月11日

以前の記事(【コード】既存のコメントに追記するWordマクロ)で紹介したサンプルコードと同じような目的(コメントが対応済みであると示す)で使えるマクロです。

Wordの機能で、コメントを完了させる機能[コメントを完了としてマーク]があります。通常は右クリックで実行しているのではないでしょうか。

この機能を複数のコメントに対して連続で実行できるようにマクロにしてみました。

ただし、これはWord 2013以降で使える機能であり、docx ファイルにのみ対応しています。ファイル名の隣に[互換モード]と表示されている場合にはWord 2013であってもこの機能が使えません。

そのため、本記事のマクロを使うとエラーになりますのでご注意ください。

このマクロでできること

(実行前)

対象範囲を選択して実行します。

(実行後)

選択された中にあるコメントが完了になります。以下のようにコメントがグレーになります。

マクロの解説

【コード】既存のコメントに追記するWordマクロと同様にカウンター変数を利用してFor Nextステートメントで実行します(9行目~11行目)。

コメントを完了にするには、Comment オブジェクトDone プロパティを設定します。

本記事のマクロでは、Done プロパティTrueにしています(10行目)。

通常の状態に戻すには、このプロパティをFalseにします。

現状と逆の設定にする(Toggle 処理をする)場合には、以下のように書きます。

Selection.Comments(i).Done = Not Selection.Comments(i).Done

マクロ


Sub 選択範囲内のコメントを完了させる()
  
 Dim i As Integer
 Dim iMax As Integer

 iMax = Selection.Comments.Count

 If iMax > 0 Then
  For i = 1 To iMax
   Selection.Comments(i).Done = True
  Next i
 Else
  MsgBox "コメントを含むように範囲を選択してください。", vbExclamation
 End If
 
End Sub

関連記事

-コード
-