Hi all,
I want to extend my thanks to you for your assistance. Really appreciated. I made a couple of quick amends to the coding as the debugger didn't quite like a particular line. This was the final code in the end:
oDoc As Document, oNewDoc As Document, oTable As Table
Dim aCom As Comment, nCount As Long, n As Long, aRng As Range
Set oDoc = ActiveDocument
nCount = ActiveDocument.Comments.Count
'Create a new document for the comments
Set oNewDoc = Documents.Add
oNewDoc.Range.Delete
'Insert a 4-column table for the comments
With oNewDoc
.Content = ""
Set oTable = .Tables.Add(Range:=Selection.Range, NumRows:=nCount + 1, NumColumns:=4)
End With
With oTable.Rows(1)
.Range.Font.Bold = True
.Cells(1).Range.Text = "Page"
.Cells(2).Range.Text = "Comment scope"
.Cells(3).Range.Text = "Comment text"
.Cells(4).Range.Text = "Author"
End With
'Get info from each comment from oDoc and insert in table
For n = 1 To nCount
Set aCom = oDoc.Comments(n)
With oTable.Rows(n + 1)
.Cells(1).Range.Text = aCom.Scope.Information(wdActiveEndPageNumber) 'Page number
Set aRng = .Cells(2).Range
With aRng
.Style = aCom.Scope.Paragraphs(1).Style
.End = .End - 1
.FormattedText = aCom.Scope.FormattedText
End With
.Cells(3).Range.Text = aCom.Range.Text 'The comment itself
.Cells(4).Range.Text = aCom.Author 'The comment author
End With
Next n
oNewDoc.Activate
MsgBox "Finished creating comments document."
Set oDoc = Nothing
Set oNewDoc = Nothing
Set oTable = Nothing
End Sub
Once again, thank you very much for your expertise and assistance.
|