ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创并分享]:汉字笔画知多少?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2004-10-16 17:05 | 显示全部楼层 |阅读模式

请下载最新版!

YuxCBbh9.zip (117.62 KB, 下载次数: 1421)

[此贴子已经被作者于2004-10-18 7:03:22编辑过]

[原创并分享]:汉字笔画知多少?

[原创并分享]:汉字笔画知多少?

9GxZPekI.rar

95.11 KB, 下载次数: 557

[原创并分享]:汉字笔画知多少?

BDdMJ20J.rar

96.37 KB, 下载次数: 389

[原创并分享]:汉字笔画知多少?

fACp7ThY.rar

78.17 KB, 下载次数: 497

[原创并分享]:汉字笔画知多少?

TA的精华主题

TA的得分主题

发表于 2004-10-16 19:21 | 显示全部楼层

你电子表格形式的笔画数据库是怎么取得的,有什么好方法吗?

TA的精华主题

TA的得分主题

发表于 2004-10-16 19:44 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2004-10-16 20:06 | 显示全部楼层

(6)(6)(10)(11)(12)(5)(7)(6)(2)(9)(4)(13)(12)(13)(3)(6)(7)(4)(5)(8)(4)(6)(8)(12)(6)(10)(5)(2)(8)(14)(8)(6)(11)(12)(6)(5)(5)(5)(5)(6)(6)(6)(9)(10)(6)(6)(7)(7)(3)(4)(5)(5)(6)(6)(6)(6)(6)(6)(6)(6)(6)(6)(5)(5)(6)(6)(6)(6)(6)(6)(6)(6)(6)(6)(18)(8)(11)(8)(6)(9)(6)(13)(7)(8)(6)(10)(7)(11)(6)(3)(8)(9)(10)(10)(18)(21)(9)(8)(14)(9)(13)(5)(7)(8)(4)(10)(8)(4)(14)(13)(4)(14)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(4)(8)(5)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(7)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(11)(11)(10)(11)(11)(11)(11)(11)(11)(11)(11)(11)(11)(11)(11)(11)(11)(11)(11)(11)(11)(11)(11)(11)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(9)(11)(11)(10)(11)(11)(11)(11)(11)

不错,不错,只是要电脑的命!!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-17 06:20 | 显示全部楼层
以下是引用风中侠在2004-10-16 19:21:00的发言:

你电子表格形式的笔画数据库是怎么取得的,有什么好方法吗?

风兄你好!上次你提及的域及其运算事宜等你回国后再作具体探讨可能要有一些规定措施才能让程序进行合理分辩和检测。

笔画数据库的提取,涉及到几个程序:汉字编码反查,"C:\Program Files\Windows NT\Accessories\Imegen.exe",然后取其常见字约个6763个作为汉字文字,主要是一些生僻字在“汉字笔画计算器“ 中也不能计算出来 ,这样可以减少出错否则一个没有找到以下的就对不上号了。将简体汉字放在EXCEL工作表中。

然后在网上下载了一个汉字笔画计算器,一次性能算一个到一段文字的汉字笔画。

在WORD中编程后台调用EXCEL工作表中的汉字,后台调用汉字笔画计算器程序输入到其中,再粘贴回到WORD中此时除了数据字外全是乱码。

在经过编程与核对确认无误后,将其中的数据写于EXCEL工作表中成为笔画库。

以下的后台调用程序供网友们日后参考:

Sub Hzcx() Dim Hzexe, CharHz As String, i As Integer, n As Integer, i1 As Integer, i2 As Integer Dim xlObj As Excel.Application, Wk As Excel.Workbook, C As Excel.Range On Error Resume Next Application.ScreenUpdating = False If Tasks.Exists("Microsoft Excel") = True Then Set xlObj = GetObject(, "Excel.Application") Else Set xlObj = CreateObject("Excel.Application") End If Set Wk = xlObj.Workbooks.Open("d:\xlhzbh.xls")'调用汉字简体字工作表 For n = 1 To 136 CharHz = "" i1 = (n - 1) * 50 + 1 i2 = n * 50 For i = i1 To i2 CharHz = CharHz & Wk.Sheets(1).Cells(i, 2) Next With Selection .InsertAfter CharHz & Chr(13) .EndKey Unit:=wdStory Hzexe = Shell("D:\hzbh\hzbh.exe", 1)'调用汉字笔画计算器程序 AppActivate Hzexe SendKeys CharHz, True'将汉字组发送到当前程序中 SendKeys "{tab 3}", True SendKeys "^c", True'复制笔画数 SendKeys "%{f4}", True'关闭程序 .EndKey Unit:=wdStory .Paste'文档末尾粘贴 .InsertAfter Chr(13) .EndKey Unit:=wdStory End With Next Wk.Close False Application.ScreenUpdating = True End Sub

'-------------------------------------------------------------------

Sub TestRep() Dim i As Paragraph, n As Integer, Ra As Variant, FindRage As Range Application.ScreenUpdating = False For Each i In Me.Paragraphs n = n + 1 Ra = n Mod 2 If Ra = 0 Then Set FindRage = i.Range With FindRage.Find .Text = "[!(0-9)]" .Replacement.Text = "" .MatchWildcards = True .Execute Replace:=wdReplaceAll End With FindRage.InsertAfter "分隔号" End If Next Application.ScreenUpdating = True End Sub

'---------------------------------------------------

Sub WriteEXCEL() Dim P As Paragraph, i As Range, n As Integer, GetRange As Range, C As Integer Application.ScreenUpdating = False If Tasks.Exists("Microsoft Excel") = True Then Set xlObj = GetObject(, "Excel.Application") Else Set xlObj = CreateObject("Excel.Application") End If xlObj.Visible = True Set Wk = xlObj.Workbooks.Open("d:\xlhzbh.xls") For Each P In Me.Paragraphs n = n + 1 If n Mod 2 = 0 Then Set GetRange = P.Range For Each i In GetRange.Words If i Like "*#" = True Then C = C + 1 Wk.Sheets(1).Cells(C, 3) = i * 1 End If Next i End If Next P Application.ScreenUpdating = True End Sub 以上程序代码均在WORD中完成.

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-17 06:23 | 显示全部楼层

办公兄:WORD对于文字的处理尽管我在后来又进行了改写运行代码,还是不快究其原因,是需要一个一个进行,并且一个一个返回每一个字都需要调用一次EXCLE中的查找,所以就慢.

以下是一个EXCEL中的自定义函数只要输入=getbh(引用单元格) 就可以了当然比WROD中要快了.

bg7xBJyp.rar (78.17 KB, 下载次数: 344)

各有所长,就看怎么用了.

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-17 09:17 | 显示全部楼层

这是个重新更新了部分代码,请大家测试一下。

我测试下来较原多的快近一倍(将FIND改为VLOOKUP)

tnRUqxu3.rar (96.37 KB, 下载次数: 478)

TA的精华主题

TA的得分主题

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

楼主真实刻苦呀!

关于如何取得拼音和笔画的问题,在别的程序中确实已经得到解决,但是在office领域,守柔是第一个。

我在CSDN看到有人在dephi和VC里面讨论过这个问题,也许有借鉴意义。

另外期望着字库的丰富!要是字库能有10000多,就足矣应付日常工作了。这个可以大家一起来努力!

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-18 04:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

几个问题:

楼主应该是对发贴人的称呼,在这个贴子中,您才是一楼之主,我们都是跟贴的。

第二,关于国标码GB2312的来历,我也是在最近才比较完全地接触。国标GB2312规定6763个汉字,许多人都抱怨国标的汉字太少了,只有6700多字,理由自然是好多人名,地名打不出来,然而却忽视了国家有推广普通话,使用简体字这个重要的任务。中国的汉字之多,康熙字典里就有4万多字,也就是说汉字太多了,而常用的3000多个汉字就占各种出版物90%以上的版面,国标6763个汉字就能包括99%以上的版面。

另外,您在来信中说:不过我还有一点小小的意见:文字的库容量小了一点,涉及人名的时候,常用的7000汉字常常不够用;另外word中出现了不该有的多余括号,不知道怎么回事?期待您的进一步完善! 第一条我就算回答了。至于括号问题,作为程序本身,就得考虑诸因素,比如文档中有许多文字也有数字,如果不加括号,不乱套了吗?也分不清谁是谁了。

还得感谢您的提问,我想以后有机会并条件充分成熟后,会完善这个工作。

TA的精华主题

TA的得分主题

发表于 2004-10-18 12:30 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-22 08:38 , Processed in 0.040619 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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