欧非资源网:安全、免费、专业放心的资源下载站! 最新软件|软件分类

您的位置:欧非资源网 > Word专区 > Word教程 > Word的字数统计问题 word 是如何统计字数的

Word的字数统计问题 word 是如何统计字数的

时间:2019-12-27 19:16作者:admin来源:未知人气:401我要评论(0)

对于需要和大量文字打交道的人,在使用Word的字数统计功能时,如果你的文档中有比较特殊的内容,例如文本框,那么有一个问题一定需要注意,那就是,在2007版之前的Word中,文字统计功能并不统计文本框内文字的字数。

这是个Word 2007中的文本框范例截图 

这个问题我一直都没有意识到,主要因为我一直使用最新版本的Word,而没有发现这个问题。最近处理的一本书稿,无论怎样计算,我这里统计的字数和出版社最终统计的字数都有所差别,而且竟然差了好几万字。这就比较奇怪了,后来经过仔细检查才发现,就是文本框的问题。出版社使用的是Word 2003,统计字数并不包含文本框内的文字,而我这个书稿里有大量内容,为了保持版面的美观,都放在了文本框中,这也就导致统计字数有很大偏差。

因此如果因为某些原因必须使用老版本Word,可以考虑使用宏的方式实现,做法可参考这里。

作为存档,这里将宏的内容一起照原样贴出来,感谢原作者的工作成果:

‘统计全部字数的代码使用了网友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

不得不再次感叹,MS Office的功能实在是太强大了,虽然其中绝大部分功能,大部分人可能根本用不到,而且可能压根不知道这些功能的存在,不过,如果确实需要的时候,还真是挺方便的。

相关阅读 12Word 样式Word 使用模板Word 目录Word 打印预览文档Word 文档比较Word 文档安全性Word 设置水印Word 快捷键大全​word段落间距怎么设置

文章评论
发表评论

热门文章 word表格中有一段空白处却不能输入文字,是怎么回事?九九乘法口诀表 可以下载直接打印使用(Word/PDF版)word 表格设置浅色底纹强调文字颜色两种方法如何利用word制做思维导图

最新文章 12Word 样式 Word 使用模板Word 目录Word 打印预览文档Word 文档比较

人气排行 word表格中有一段空白处却不能输入文字,是怎么回事?九九乘法口诀表 可以下载直接打印使用(Word/PDF版)word 橡皮擦在哪里? 橡皮擦的功能和使用方法word 表格设置浅色底纹强调文字颜色两种方法如何利用word制做思维导图word 如何设置某一页为横向页面word2016免费中文激活版下载 word2016官方免费完整版下载word字体颜色深浅不一怎么办

盖楼回复X

(您的评论需要经过审核才能显示)