先日の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) ページ番号・行番号・作者名付き







