先日のWordマクロセミナーの参加者からご要望があり作ってみました。
その方は出版翻訳者で、お客様とコメントを通じてやりとりをされるとのこと。
そのため、1つの文書に自分のコメントの他、相手のコメントが含まれているのです。l
以前紹介した「【コード】コメントを書き出すWordマクロ(その4) ページ番号・行番号付き」の場合、コメントだけが列挙されてしまうので、誰が書いたコメントなのかわかりにくいのです。
そこで、今回のマクロでは、コメントの作成者名も表示することにしました。
<目次>
このマクロでできること
コメントが挿入されている文書に対してマクロを実行すると、コメントの一覧表を新規ファイルで作成します。
(マクロ実行対象)
(作成された一覧表)
マクロの解説
コメントの作者名を、.Author プロパティで取得します。
マクロ
Sub コメントを別紙に書き出すマクロ_5() Dim i As Integer Dim actDoc As Document Dim newDoc As Document Dim myTable As Table If ActiveDocument.Comments.Count = 0 Then Exit Sub If MsgBox("ファイル内のすべてのコメントを書き出しますか?", _ vbQuestion Or vbYesNo, "実施前の確認") = vbNo Then Exit Sub End If 'オブジェクト変数の設定 Set actDoc = ActiveDocument Set newDoc = Documents.Add Set myTable = newDoc.Tables.Add(Range:=Selection.Range, _ NumRows:=actDoc.Comments.Count + 1, NumColumns:=5) '表の項目を追記 With myTable .Cell(1, 1).Range.Text = "P." .Cell(1, 2).Range.Text = "行" .Cell(1, 3).Range.Text = "対象部分" .Cell(1, 4).Range.Text = "作成者" .Cell(1, 5).Range.Text = "コメント" .Rows(1).Select With Selection .ParagraphFormat.Alignment = wdAlignParagraphCenter .Collapse direction:=wdCollapseStart End With End With 'ページ番号とコメントを表に記入 For i = 1 To actDoc.Comments.Count With actDoc.Comments(i) myTable.Cell(i + 1, 1).Range.Text = _ .Scope.Information(wdActiveEndPageNumber) myTable.Cell(i + 1, 2).Range.Text = _ .Scope.Information(wdFirstCharacterLineNumber) myTable.Cell(i + 1, 3).Range.Text = .Scope.Text myTable.Cell(i + 1, 4).Range.Text = .Author myTable.Cell(i + 1, 5).Range.Text = .Range.Text End With Next i '表のスタイルを設定 With myTable .Style = "表 (格子)" .AutoFitBehavior (wdAutoFitContent) End With 'オブジェクト変数の解放 Set actDoc = Nothing Set newDoc = Nothing Set myTable = Nothing End Sub
コメントに関するマクロ
- 【Word VBA】コメントの挿入者名と変更履歴の校閲者名を「作成者」に変更するWordマクロ
- 【Word VBA】コメントの挿入者名を変更するWordマクロ
- 【Word VBA】コメントの文字の大きさを変更するWordマクロ
- 【Word VBA】コメントを対応済み(完了)とするWordマクロ
- 【Word VBA】コメントを書き出すWordマクロ
- 【Word VBA】コメントを書き出すWordマクロ(その2)
- 【Word VBA】コメントを書き出すWordマクロ(その3) ページ番号付き
- 【Word VBA】コメントを書き出すWordマクロ(その3) 特許明細書仕様
- 【Word VBA】コメントを書き出すWordマクロ(その4) ページ番号・行番号付き
- 【Word VBA】コメントを書き出すWordマクロ(その5) ページ番号・行番号・作者名付き