スポンサーリンク

Word文章中のコメントを一覧で抽出するVBA

Wordファイルにコメントが沢山あるとき、
一覧で見たい場合に、コメントを
抽出するVBAを紹介します。

長文の校正や契約書などで
コメントが多いと抜き出して一覧化した
場面があるかなと考えます。

具体的な動作は、このようにあるコメントを

 

Excelのこのような一覧にすることができます。

 

スポンサーリンク

コメントを抜き出すWord VBA

今回テストで作ってみた
コメントを抜き出すVBAは以下の通りです。

Sub CommentsExtract()

    '変数定義
    Dim c As String 
    Dim cmt As Word.Comment
    Dim doc As Word.Document

    'コメントを拾い出す
    For Each cmt In ActiveDocument.Comments
       c = c & Left(cmt.Date, 10) & "," & cmt.Author & "," & cmt.Index & "," & cmt.Range.Text & vbCrLf
    Next

    '新しいファイルに拾い出したコメントを貼り付ける
    Set doc = Documents.Add
    doc.Range.Text = c

End Sub

よくわからなくても、こちらを貼り付けて
コメントがあるWordファイルで実行すれば
Wordファイルにコメントを全て
抜き出すことができます。

Wordに抜き出しているのは、
VBAをシンプルに見せるためです。

後述する区切り位置の設定で
EXCELに加工するのは楽なはずなので、
今回はコメントを抽出するところを
中心に説明するためWordに貼り付けてます。

□サービスメニュー

 

コメントを抜き出すWord VBAの説明

設計手順

設計手順として、

  1. 変数の定義
    1. カウンタ
    2. コメント
    3. Wordファイル
  2. Eachによって全てのコメントを抜き出す
  3. 新しいWordファイルを追加する
  4. 抜き出したコメントを貼り付ける

というものにしています。

変数定義

まず、変数の定義から。

    Dim c As String
    Dim cmt As Word.Comment
    Dim doc As Word.Document

cは、コメント1、コメント2、…と
なっていくものの順序を指定する
ためのものです。

1番目のコメント、2番めのコメント、
…、c番目のコメント、のように
変数化して全てを選択するために
定義します。

cmtは、As Word.Commentとしてるように
コメントですよと定義してます。

docは、新しいWordファイルを
追加するためにつけました。

 

For Each 〜 Next

全てを拾い出す部分です。

For Each XX

Next

という形で全てのXXに対して
〜をするという意味になります。

以下の文章は、現在アクティブになっている
Wordファイルの全てのコメントに対して
c=c…をする
という意味です。

    For Each cmt In ActiveDocument.Comments

        c = c & Left(cmt.Date, 10) & "," & cmt.Author & "," & cmt.Index & "," & cmt.Range.Text & vbCrLf

    Next

 

新しいドキュメントに貼り付ける

全てのコメントを改行を込みにした状態で
cという変数に入れ込んでいる状態です。

ここに、新しいドキュメントを挿入します。

    Set doc = Documents.Add

次にそのドキュメントに
cとしてまとめた変数を貼り付けます。

    doc.Range.Text = c

以上で完了です。

このVBAを実行すると以下のような
カンマ区切りのWordファイルが出来上がります。

あとは、Excelに貼り付けて

区切り位置で分ければできあがりです。

カンマ区切りはEXCELに入れやすくするため

わざわざ下記のWordファイルで仕上げているのは、
プログラムをわかりやすくするためです。

こちらのExcelの状態に一気に仕上げられますが、
人手だけで行った場合に一番手間がかかるのは
抽出作業です。

最低でも、その抽出作業を簡略化するため
上記のプログラムのみ示して、あとは
手作業の加工で見せています。

気が向いたら、一気に仕上げる
プログラムもご紹介します。

 

【編集後記】
論文の構成を大きく変えてみました。
ある程度形にするまでは、これくらいの
変更が何度か続くのかなと感じてます。

【運動記録】
ジョギング○ ストレッチ○ 筋トレ○ サプリ○

【子育て日記(3歳)】
今日の推し恐竜は、ギガノトサウルスです。

Word
スポンサーリンク
akをフォローする
スポンサーリンク
AK-UP まいせん(毎日の処方箋)