末日机甲孙尚香音效:WORD无法统计的文本框字数问题终结者 - 办公软件 - 翻译论坛

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 13:45:12
发表于 2010-4-26 15:06 | 只看该作者

WORD无法统计的文本框字数问题终结者

终结者, WORD, 字数, 文本, 统计 转载:真庸

关于WORD无法统计文本框内数字的问题,已经有很多人提出各种解决方案。据真庸研究,其中Westbank的帖子——《解决WORD无法统计文本框内字数的方法》当中提到的网友Lieven Lannoo" 提供的解决方案最为简洁,简洁得不能删除任何一条代码。但是,由于代码少,在输出信息方面便凸现出不足。真庸在此基础上,添加了统计文档主体字数/字符数、文档全部字符数、文本框(包括各种框架、脚注、尾注)内的字数/字符数、文本框(包括各种框架、脚注、尾注)数量等功能,形成了下面的代码。补充后的代码,可以统计我等翻译最为关心的全部统计数据,只要是你在WORD中辛辛苦苦打出来的字都计算在内——为我等翻译精算每一分钱。
使用方法:
第一步:在WORD中建立名为“字数统计”的宏。
方法:进入工具——>宏——>宏,在“宏名”栏内键入“字数统计”(注意:不要输入引号“”)作为宏名,单击“创建”。
第二步:在 Sub 与 End Sub之间粘贴以下内容。

'统计全部字数的代码使用了网友Lieven Lannoo 提供的解决方案
Dim oStory As Object, WordCount, WordChar As Long
Dim dhk As Dialog '定义对话框变量
Dim MainNumWords As Long ' 文档主体的字数
Dim MainNumChars As Long ' 文档主体的字符数
Application.ScreenUpdating = False '关闭屏幕刷新提高统计速度
For Each oStory In Activedocument.StoryRanges '遍历文档字符
WordCount = WordCount + oStory.ComputeStatistics(wdStatisticWords) '文档全部字数(含文本框中的)
WordChar = WordChar + oStory.ComputeStatistics(wdStatisticCharacters) '文档全部字符数(含文本框中的)
Do While Not (oStory.NextStoryRange Is Nothing) '同一组合内的下一个对象不空则继续统计
Set oStory = oStory.NextStoryRange
WordCount = WordCount + oStory.ComputeStatistics(wdStatisticWords) '累加上同一组合内字数
WordChar = WordChar + oStory.ComputeStatistics(wdStatisticCharacters) '累加上同一组合内字符数
Loop
Next oStory
Selection.HomeKey Unit:=wdStory '将所选内容移至文档开头
Set dhk = Dialogs(wdDialogToolsWordCount) '将dhk设置为"字数统计"对话框
dhk.Update
dhk.Execute
MainNumWords = dhk.Words '获得文档主体的字数
MainNumChars = dhk.Characters '获得文档主体的字符数
Application.ScreenUpdating = True '统计完毕恢复屏幕刷新
'显示统计结果
MsgBox "使用当中遇到任何问题,请随时与我联系。" & vbCr & vbCr _
& "电气工程师兼日语翻译——真庸" & vbCr & vbCr _
& "电子信箱:ruiteng2005@126.com" & vbCr & vbCr _
& "QQ:383290039" & vbCr & vbCr _
& "MSN:ruiteng2005@hotmail.com" & vbCr & vbCr _
& "电话:13312029710 或者 13389935832" & vbCr & vbCr _
& "" & vbCr & vbCr _
& "****包括文档主体/各种框架内的字数/字符数统计信息****" & vbCr & vbCr _
& "整个文档字数总计 :" & WordCount & vbCr _
& "整个文档字符数总计:" & WordChar & vbCr & vbCr _
& " 其中1、有关文本框的统计信息" & vbCr _
& " 文本框数量 :" & Str(Activedocument.Shapes.Count) & vbCr _
& " 文本框字数合计 :" & WordCount - MainNumWords & vbCr _
& " 文本框字符数合计 :" & WordChar - MainNumChars & vbCr & vbCr _
& " 2、有关文档主体的统计信息" & vbCr _
& "(即WORD自带的“字数统计”功能统计的结果)" & vbCr _
& " 文档主体字数合计 :" & MainNumWords & vbCr _
& " 文档主体字符数合计(不计空格):" & MainNumChars

第三步:关闭VBA窗口,回到WORD界面。
第四步:创建“字数统计”按钮。
方法:进入工具——>自定义——>命令——>宏,找到宏列表中刚才创建的“字数统计”宏,将之拖到Word 工具栏。注意,此按钮在工具栏中显示的按钮名称是“Normal.NewMacraos.字数统计”
第五步:打开需要统计字数的文档,单击“Normal.NewMacraos.字数统计”按钮。

这时,你就会发现,你想要的数据全部呈现在你的眼前。
收藏 分享 评分