ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[解决多音字]汉字转拼音的完美解决方案[12.11.29更新]

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2012-5-23 01:08 | 显示全部楼层
本帖已被收录到知识树中,索引项:文本转换
本帖最后由 冰淇淋496 于 2012-5-23 01:10 编辑
pt98 发表于 2011-6-12 11:15
谢谢分享!不错的东西,我用VB做了一个界面,这样通用性可能更好点。

谢谢分享!
不错的东西,我用VB做了一个界面,这样通用性可能更好点。
xie xie fen xiang bu cuo de dong xi wo yong zuo le yi ge jie mian zhe yang tong yong xing ke neng geng hao dian
请问 能分段及留下标点吗?数字、VB 能保留吗?谢谢!!!

TA的精华主题

TA的得分主题

发表于 2012-5-23 11:29 | 显示全部楼层
ttui 发表于 2012-4-3 09:17
应该可以的,我不用vb,但以前见过有人用之前代码做过

厉害。不过我测试的时候发现有个问题比如

覃  用你的自定义函数得出结果是tan  正确的应该是qin

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-5-23 12:42 | 显示全部楼层
dg831451 发表于 2012-5-23 11:29
厉害。不过我测试的时候发现有个问题比如

覃  用你的自定义函数得出结果是tan  正确的应该是qin

这个完全基于微软拼音的反差结果,在word里面试了下也只返回tan的拼音,qin似乎只在姓氏里面出现,这个真的没办法,只能手工修改结果了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-5-23 12:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
冰淇淋496 发表于 2012-5-23 01:08
谢谢分享!
不错的东西,我用VB做了一个界面,这样通用性可能更好点。
xie xie fen xiang bu cuo de do ...

现在的函数能够保留标点和数字,但分段不行,似乎新版微软拼音(至少2010)不再提供相应功能,至少不是用IFELanguage接口了

TA的精华主题

TA的得分主题

发表于 2012-5-23 13:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ttui 发表于 2012-5-23 12:42
这个完全基于微软拼音的反差结果,在word里面试了下也只返回tan的拼音,qin似乎只在姓氏里面出现,这个真 ...

哦。那真是没有办法了。毕竟微软开发的东西,,对于中国汉字的博大精深只能说PF了。。谢谢

TA的精华主题

TA的得分主题

发表于 2012-5-28 11:14 | 显示全部楼层
给孩子做田字格添加拼音了 非常感谢

TA的精华主题

TA的得分主题

发表于 2012-5-30 12:34 | 显示全部楼层
感谢楼主分享,我也是搞技术的。找了很多资料汉字转拼音,但对多音(义)字支持一直不好。特别一碰到 地名,专业名词,人名等等。例如 莘庄(xin)上海地名。
随着研究的深入,了解了IMM以及TSF对不同操作系统的支持,各种码表,字库,甚至为了更全面解决多音字要建立分词系统……前前后后忙活了三四天,还特地研究了 搜狗拼音,想到了利用网络采集词频。要是真能把这一连串问题都解决了(期间涉及到了操作系统,网络,编程,服务器,数据库,带宽,SEO……),估计我也能自己做个像样的产品出来了。

希望是美好的,可远水解不了近渴,那些知识是需要逐渐积累的,但需求是必须要快速解决,两条路都要走。楼主的这个类解决了我燃煤之急。

还有,真的要搞技术的话,确实需要多去看看国外论坛,资料,很多东西中文资料实在太少了。

TA的精华主题

TA的得分主题

发表于 2012-6-3 17:41 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-6-6 22:02 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请问楼主:我想实现汉字姓名转换成拼音,要求二字姓名为全拼,如:刘兵转换成liubing,三字姓名如:李清照转换成liqz(即第个汉字为全拼,后两个为首字母缩小),请问能实现这样的功能吗?
另外:这个宏如何使用?
谢谢 !

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-6-7 09:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
千里婵娟 发表于 2012-6-6 22:02
请问楼主:我想实现汉字姓名转换成拼音,要求二字姓名为全拼,如:刘兵转换成liubing,三字姓名如:李清照转 ...

将Excel函数和转拼音函数结合起来就能实现你的要求。
假设A1单元格是姓名,在B1单元格输入公式
=IF(LEN(A1)<3,HzToPy(A1,,0),HzToPy(LEFT(A1,1),,0)&HzToPy(A1,,0)&HzToPy(RIGHT(A1,LEN(A1)-1),,0,TRUE,TRUE))
就能实现你的要求,不过复姓的话就没法这样简单解决,也不考虑了。
宏如何使用不太理解什么意思,是不是问怎么移植到其他工作薄?如果是的话建议把需要用这个函数的表都复制到一楼的工作簿里面,这是最简单的方式,也可以打开VBE,把类和模块导到需要的工作簿里,写起来太麻烦就不写了:)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 22:24 , Processed in 0.043998 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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