ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: sky82聊聊

[求助] 请问怎样计算WORD中的中文字数而不包括标点符号?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-6-9 21:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

能有守老大这么有耐心的版主为你作这么个程式,你还。。。。。。

你能否告诉偶你搞这个东东到底为了什么用途么?

你真要简单,那也很方便,我可以提供一个程序,让你将文章中的标点全部提取出来,将后再一个一个的全部手工替换掉,最后再算出不含标点的字符数

你要么?

TA的精华主题

TA的得分主题

发表于 2005-6-10 06:58 | 显示全部楼层
以下是引用sky82聊聊在2005-6-9 21:21:00的发言:

难道么简单点的办法啊?

我倒!

TA的精华主题

TA的得分主题

发表于 2012-9-10 15:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
还真是有简单的方法!
查找输入[一-﨩],替换输入^&,选中通配符,全部替换,显示结果就是。经与老大代码运行结果比较完全一致。只不过老大的代码提供的是超值版。

TA的精华主题

TA的得分主题

发表于 2012-9-8 19:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
在查找中输入[一-﨩]就可以了

TA的精华主题

TA的得分主题

发表于 2014-8-7 15:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 banjinjiu 于 2014-8-7 15:47 编辑

感觉守柔统计字符有出入。
  1. Sub CharactersSortCounts()
  2. '文档字数分类统计代码,主要统计中文字符,中文标点总数,英文字符数,英文标点总数 '以及其它字符数
  3. Dim ChineseInterPunction As String, EnglishInterPunction As String
  4. Dim aChar As Range, AscaChar As Long, aVar As Variable
  5. Dim CIPCount As Integer, ChineseCount As Integer, EIPCount As Integer
  6. Dim EnglishCount As Integer, BlankCount As Integer, Others As Integer
  7. Dim MyRange As Range, MyLable As String '如果未选定
  8. If Selection.Type = wdSelectionIP Then '定义一个全文档RANGE对象
  9. Set MyRange = ThisDocument.Content
  10. MyLable = "全文档"
  11. Else '定义一个选定区域的RANGE对象
  12. Set MyRange = Selection.Range
  13. MyLable = "选定文本"
  14. End If '定义中文标点符,可继续扩充
  15. ChineseInterPunction = "。,;:?!……-~〔〕《》''"""
  16. '定义英文标点符,可继续扩充 EnglishInterPunction = ".,;:?!…-~()<>'"""""
  17. With MyRange
  18. For Each aChar In .Characters
  19. AscaChar = VBA.Asc(aChar) '如果含有中文标点则计数
  20. If VBA.InStr(ChineseInterPunction, aChar) > 0 Then
  21. CIPCount = CIPCount + 1 '如果含有英文标点计数
  22. ElseIf VBA.InStr(EnglishInterPunction, aChar) > 0 Then
  23. EIPCount = EIPCount + 1 '如果为半角空格则计数
  24. ElseIf AscaChar = 32 Then
  25. BlankCount = BlankCount + 1 '如果为英文字符(包含CHR(13))则计数
  26. ElseIf AscaChar >= 0 And AscaChar <= 255 Then EnglishCount = EnglishCount + 1
  27. '如果为简体中文则计数
  28. ElseIf AscaChar < -2050 And AscaChar > -20319 Then ChineseCount = ChineseCount + 1
  29. Else '累计其它
  30. Others = Others + 1
  31. End If
  32. Next '显示统计结果
  33. MsgBox MyLable & "字数统计:" & vbCrLf & "字符总数: " & _
  34. .Characters.Count & .Paragraphs.Count & vbCrLf & "段落总数: " & _
  35. .Paragraphs.Count & vbCrLf & "空格总数: " & BlankCount & vbCrLf & "英文标点总数: " & _
  36. EIPCount & vbCrLf & "英文字符数(不含空格,英文标点): " & EnglishCount & _
  37. vbCrLf & "中文标点总数: " & CIPCount & vbCrLf & "中文字符总数(不含中文标点): " & ChineseCount & _
  38. vbCrLf & "其它字符数: " & Others, vbOKOnly + vbInformation, "Microsoft Word"
  39. End With
  40. End Sub
复制代码
特别是字符总数。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-17 00:24 , Processed in 0.021072 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表