ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助]如何自动识别汉字的拼音缩写

[复制链接]

TA的精华主题

TA的得分主题

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

如“中国”,能否用一个函数,自动将它的拼音缩写转换为“ZG”

TA的精华主题

TA的得分主题

发表于 2004-10-23 09:46 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2004-10-23 13:24 | 显示全部楼层
其实我在想Shangyu兄的最初的汉字和字母列表是怎样得来的?应该是用VBA生成的吧?呵呵~~~

TA的精华主题

TA的得分主题

发表于 2004-10-23 15:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用gdliyy在2004-10-23 13:24:00的发言: 其实我在想Shangyu兄的最初的汉字和字母列表是怎样得来的?应该是用VBA生成的吧?呵呵~~~
不是,我记得谁有这么一张对照表,2W多行,然后排序、翻字典,用char、code……,我记得弄了一个晚上。

TA的精华主题

TA的得分主题

发表于 2004-10-24 05:33 | 显示全部楼层
以下是引用zdlah在2004-10-23 2:34:00的发言:

如“中国”,能否用一个函数,自动将它的拼音缩写转换为“ZG”

ySw8UH4N.rar (8.7 KB, 下载次数: 429)

shangyu 版主的函数功夫确实好! 拼音简写的函数使用令人耳目一新,精神一振![em17]

这是一个由Jack.zhou附上的共享拼音代码(见http://club.excelhome.net/viewthread.php?tid=55585)

我以为这个也较具有代表性,并希望能得到更多推广与应用。

遂重新修饰了一个代码,用select case ……end select语句代替了IF ……end if ,使之运算速度更为加快,结构更趋合理。

此文件可另存加载宏,以备随时调动更好。(函数名为getpy())

以下为自定义函数代码供参考:

Function Getpychar(char) Dim Tmp As Long Tmp = 65536 + Asc(char) Select Case Tmp Case 45217 To 45252 Getpychar = "A" Case 45253 To 45760 Getpychar = "B" Case 45761 To 46317 Getpychar = "C" Case 46318 To 46825 Getpychar = "D" Case 46826 To 47009 Getpychar = "E" Case 47010 To 47296 Getpychar = "F" Case 47297 To 47613 Getpychar = "G" Case 47614 To 48118 Getpychar = "H" Case 48119 To 49061 Getpychar = "J" Case 49062 To 49323 Getpychar = "K" Case 49324 To 49895 Getpychar = "L" Case 49896 To 50370 Getpychar = "M" Case 50371 To 50613 Getpychar = "N" Case 50614 To 50621 Getpychar = "O" Case 50622 To 50905 Getpychar = "P" Case 50906 To 51386 Getpychar = "Q" Case 51387 To 51445 Getpychar = "R" Case 51446 To 52217 Getpychar = "S" Case 52218 To 52697 Getpychar = "T" Case 52698 To 52979 Getpychar = "W" Case 52980 To 53640 Getpychar = "X" Case 53689 To 54480 Getpychar = "Y" Case 54481 To 62289 Getpychar = "Z" Case Else '如果不是中文,则不处理 Getpychar = char End Select End Function

'********************************* Function Getpy(str) For i = 1 To Len(str) Getpy = Getpy & Getpychar(Mid(str, i, 1)) Next End Function

TA的精华主题

TA的得分主题

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

不知道这个表对于一些多音字如何处理?像会计的“会”

TA的精华主题

TA的得分主题

发表于 2004-10-26 13:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

守柔版主:

换一种思路做的话,上述代码还可以更少一些。

[此贴子已经被作者于2004-10-26 13:44:19编辑过]

TA的精华主题

TA的得分主题

发表于 2004-10-23 12:02 | 显示全部楼层
shangyu: 不错嘛,还有这个东东在里面。

TA的精华主题

TA的得分主题

发表于 2005-6-29 10:40 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

感谢楼主,不过好象有些字无法识别就出现中文了比如:氢醌霜3%

TA的精华主题

TA的得分主题

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

楼主,能告诉我公式是怎么编的吗?

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

本版积分规则

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

GMT+8, 2024-11-25 00:39 , Processed in 0.048335 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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