计算更改的单词(Microsoft Word)
史蒂文一直在他的文档中使用Track Changes。他需要一种方法来仅计算文档中已更改的单词(那些受“曲目更改”影响的单词)。
答案是,您可以通过使用“审阅窗格”来获得所需的信息。显示功能区的“审阅”选项卡,然后单击“审阅窗格”工具(在“跟踪”组中)。 Word在屏幕上显示“审阅窗格”,并且窗格顶部是文档中所做修订的摘要。它显示以下五个更改的统计信息:
插入删除移动格式更改*评论
这些统计信息似乎很合适,但您会记得我说过,它们提供了所需的“某种”信息。如果您真正想要的是已更改的单词数,则它们会有些不足。统计信息计数变化,而不是单词变化。例如,如果您删除由多个单词组成的短语,则该编辑将被视为统计信息中的单个删除。同样,如果在文档中添加一个短语,即使该插入包含完整的段落,该添加也算作单个插入。
如果您希望更改实际单词,那么很遗憾,您很不幸-Word无法提供获取所需信息的方法。但是,您可以设计自己的宏来确定所需的信息。这是一个示例:
Sub GetTCStats() Dim lInsertsWords As Long Dim lInsertsChar As Long Dim lDeletesWords As Long Dim lDeletesChar As Long Dim sTemp As String Dim oRevision As Revision lInsertsWords = 0 lInsertsChar = 0 lDeletesWords = 0 lDeletesChar = 0 For Each oRevision In ActiveDocument.Revisions Select Case oRevision.Type Case wdRevisionInsert lInsertsChar = lInsertsChar + Len(oRevision.Range.Text) lInsertsWords = lInsertsWords + oRevision.Range.Words.Count Case wdRevisionDelete lDeletesChar = lDeletesChar + Len(oRevision.Range.Text) lDeletesWords = lDeletesWords + oRevision.Range.Words.Count End Select Next oRevision sTemp = "Insertions" & vbCrLf sTemp = sTemp & " Words: " & lInsertsWords & vbCrLf sTemp = sTemp & " Characters: " & lInsertsChar & vbCrLf sTemp = sTemp & "Deletions" & vbCrLf sTemp = sTemp & " Words: " & lDeletesWords & vbCrLf sTemp = sTemp & " Characters: " & lDeletesChar & vbCrLf MsgBox sTemp End Sub
此宏逐步浏览当前文档中的每个更改,并分别对插入和删除操作的字数和字符数求和。然后将统计信息显示在消息框中。请注意,宏将查看Words集合中文档中的每个更改。
您应该了解,此处显示的字数是一个近似值。这是因为单词计数的方式。例如,加法中的每个标点符号都算作一个单独的单词。这意味着诸如“正如人们所见,这是一个好方法”之类的短语将被计为十个单词而不是九个单词(逗号作为一个单独的单词)。此外,如果您添加的词组包含一个前导空格(插入经常会出现这种情况),则由于该空格,将有十一个单词要插入。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(11484)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里: