ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

山地步兵向版主及各位DX的紧急呼救(二)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-4-13 13:52 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

问题102.字数统计功能---速度问题 在PPC(掌上电脑)上,好几个看书软件(如CEBOOK.HAAI等)对段落字数有上限要求,一般是2050个字节,即个汉字,超过这个范围的,将会出现乱码.因此,我用"宏-002"来统计各段落的字数,(但统计记录文件放在D:\TEST目录下,名字为TTT.TXT文件,每次重新执行这个宏之前,先到D:\TEST目录下删除该文件),将超出这个范围的段落找出来,并进行二次分段. 这个程序可实现预计的要求,但有个大BUG---耗时太多,统计一个260KB的文件用时28秒,统计一个900KB的文件得1分半,一个1.8M的文件得十六分钟!请问版主,该程序有无改进的地方(主要是速度方面),有无更好的解决方案? 当然,我目前是用UltraEdit来解决这问题的,因为ULTRA的行宽正好是2050字节,我只要将水平滚动条放在最右方,再拖一遍垂直滚动条即可发现接近或超过这个限度的段落,但这个解决方案毕竟是"模拟式"的,作为一个数码产品的FANS,我希望一切都能精确......

************************************************************************************************************

问题102.字数统计功能---速度问题 在PPC(掌上电脑)上,好几个看书软件(如CEBOOK.HAAI等)对段落字数有上限要求,一般是2050个字节,即个汉字,超过这个范围的,将会出现乱码.因此,我用"宏-002"来统计各段落的字数,(但统计记录文件放在D:\TEST目录下,名字为TTT.TXT文件,每次重新执行这个宏之前,先到D:\TEST目录下删除该文件),将超出这个范围的段落找出来,并进行二次分段. 这个程序可实现预计的要求,但有个大BUG---耗时太多,统计一个260KB的文件用时28秒,统计一个900KB的文件得1分半,一个1.8M的文件得十六分钟!请问版主,该程序有无改进的地方(主要是速度方面),有无更好的解决方案? 当然,我目前是用UltraEdit来解决这问题的,因为ULTRA的行宽正好是2050字节,我只要将水平滚动条放在最右方,再拖一遍垂直滚动条即可发现接近或超过这个限度的段落,但这个解决方案毕竟是"模拟式"的,作为一个数码产品的FANS,我希望一切都能精确......

问题103.由于本问题以102的解决为前提,下次再说.

[此贴子已经被守柔于2005-4-14 2:55:12编辑过]

TA的精华主题

TA的得分主题

发表于 2005-4-14 03:43 | 显示全部楼层

这是我做的一个程序,供参考:

'* +++++++++++++++++++++++++++++ '* Created By I Love You_Word!@ExcelHome 2005-4-14 3:43:49 '仅测试于System: Windows NT Word: 10.0 Language: 2052 '^The Code CopyIn [ThisDocument-ThisDocument]^' '* -----------------------------

Option Explicit Sub LenParagraphs() Dim FSO As Object, MyTxt As Object, MyFilePathName As String Dim i As Paragraph, Lenth As Long, ParCount As Long Debug.Print Now MyFilePathName = "D:\test\Ttt.txt" '定义一个文件名与路径变量 If Dir(MyFilePathName) <> "" Then Kill MyFilePathName '如果存在该文件则删除 Set FSO = CreateObject("Scripting.FileSystemObject") '定义一个FSO对象 Set MyTxt = FSO.CreateTextFile(MyFilePathName, True) '创建一个TXT文件 For Each i In ActiveDocument.Paragraphs '在活动文档的段落中循环 ParCount = ParCount + 1 '计数 MyTxt.WriteLine "第" & ParCount & "段落文字数为:" & (i.Range.End - i.Range.Start - 1) Next i MyTxt.Close '关闭 Debug.Print Now End Sub '----------------------实际运行测试:在一个210K(215552字节)的WORD文档中,有100个段落,总文字数为89800个,统计用时0秒!!

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 02:00 , Processed in 0.036189 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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