从docx文件中提取跟踪更改信息(插入已删除的文本)

时间:2012-06-20 21:11:32

标签: ms-word

我希望在审核后从word文档中提取插入和删除的文本。我已经能够使用以下宏提取注释:

Sub ExportComment()
Dim s As String
Dim cmt As Word.Comment
Dim doc As Word.Document
Dim workBk As Word.Document
Set workBk = ActiveDocument
Set doc = Documents.Add(Visible:=True)
Dim myRange As Range
Set myRange = doc.Range(0, 0)
Dim myTable As Table
Set myTable = doc.Tables.Add(Range:=myRange, NumRows:=workBk.Comments.Count, NumColumns:=6)
Dim i As Integer
i = 1
For Each cmt In workBk.Comments
myTable.Cell(i, 1).Range.Text = cmt.Index
myTable.Cell(i, 2).Range.Text = cmt.Scope.Information(wdActiveEndPageNumber)
myTable.Cell(i, 3).Range.Text = cmt.Initial
myTable.Cell(i, 4).Range.Text = cmt.Scope
myTable.Cell(i, 5).Range.Text = cmt.Range.Text
i = i + 1
Next
End Sub

但似乎无法弄清楚如何从跟踪的更改中获取插入和删除的文本。有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

就像您在示例代码中使用Comments集合一样,您将需要使用Revisions集合(例如,Dim rev as Word.Revision)。与Comments不同,Revisions具有Type属性,您可以使用它来标识不同类型的Track Changes。以下是一些修订类型:

enter image description here

如果要查看提取修订版的示例VBA代码,请转到

http://www.thedoctools.com/downloads/basTrackChanges_Extract.shtml

在讨论提取修订版的问题时在下面的页面中引用:

http://www.thedoctools.com/index.php?show=mt_trackchanges_extract