客户发来的文档开启了跟踪修订模式,如何分别统计里面的的插入和删除的字数,使用Word VBA搞定。
VBA代码
Sub TrackChangeCount()
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 = "插入" & vbCrLf
sTemp = sTemp & " 字数: " & lInsertsWords & vbCrLf
sTemp = sTemp & " 字符数(记空格): " & lInsertsChar & vbCrLf
sTemp = sTemp & "----------------------" & vbCrLf
sTemp = sTemp & "删除" & vbCrLf
sTemp = sTemp & " 字数: " & lDeletesWords & vbCrLf
sTemp = sTemp & " 字符数(记空格): " & lDeletesChar & vbCrLf
MsgBox sTemp, vbInformation, "统计结果"
End Sub
使用教程
1.插入VBA代码
2.为VBA设置一个快捷按钮
注:
1. 跟踪修订状态下,可以分别统计插入和删除的字数和字符数(记空格)
2. 不支持统计页眉页脚修订字数统计
3. 字数:是指当前文档中的文字个数。一个中文字即算一个字;一个英文单词算一个字。
4. 字符数:是指当前文档字符的个数,一个中文字算作一个字符,一个由6个英文字母组成的英文单词算作6个字符 。
5. 如果标点符号是全角,即占一个中文字位,算一个字;如果是半角,将不算作字数,只算字符数。
在“语料库翻译”公众号对话框发送截图和关键词「修订字数VBA」,可直接获得案例文件和VAB代码。
本文转自语料库翻译
关注微信公众号“语言服务行业”,“翻译技术教育与研究”,了解更多语言服务行业与翻译技术相关的资讯和洞察~
,