WORD无法统计的文本框字数问题终结者 - 办公软件 - 翻译论坛
发表于 2010-4-26 15:06 |
只看该作者 转载:真庸
关于WORD无法统计文本框内数字的问题,已经有很多人提出各种解决方案。据真庸研究,其中Westbank的帖子——《解决WORD无法统计文本框内字数的方法》当中提到的网友Lieven Lannoo" <lieven.lannoo@nci.be>提供的解决方案最为简洁,简洁得不能删除任何一条代码。但是,由于代码少,在输出信息方面便凸现出不足。真庸在此基础上,添加了统计文档主体字数/字符数、文档全部字符数、文本框(包括各种框架、脚注、尾注)内的字数/字符数、文本框(包括各种框架、脚注、尾注)数量等功能,形成了下面的代码。补充后的代码,可以统计我等翻译最为关心的全部统计数据,只要是你在WORD中辛辛苦苦打出来的字都计算在内——为我等翻译精算每一分钱。 使用方法: 第一步:在WORD中建立名为“字数统计”的宏。 方法:进入工具——>宏——>宏,在“宏名”栏内键入“字数统计”(注意:不要输入引号“”)作为宏名,单击“创建”。 第二步:在 Sub 与 End Sub之间粘贴以下内容。
'统计全部字数的代码使用了网友Lieven Lannoo <lieven.lannoo@nci.be>提供的解决方案 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.字数统计”按钮。
这时,你就会发现,你想要的数据全部呈现在你的眼前。
|
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。