各位大大:
看了利用VBA把汉字转拼音(李晓锋版)的帖子后,我想把拼音带声调和多音字加进去,试了多次多音字都不成功,麻烦各位大佬看下说明按要求给改一下!
比如“和”的多音字,有hé,huó,hú,huò等
原贴地址:https://blog.csdn.net/lxf2580/article/details/54409636/
一下是代码中李晓峰关于多音字的说明:
多音字功能代码修改方法:把以下代码段
pinyin = pinyin1(p)
If pinyin = p Then pinyin = pinyin2(p)
If pinyin = p Then pinyin = pinyin3(p)
If pinyin = p Then pinyin = pinyin4(p)
If pinyin = p Then pinyin = pinyin5(p)
修改为:pinyin = pinyin1(p) & “多音分割符” & pinyin2(p)& “多音分割符” & pinyin3(p) & “多音分割符” &pinyin4(p)& “多音分割符” & pinyin5(p)
然后把每个pinyin子函数中的case else 下的代码删除,就可以了。 但是多音字的字典得你自己修改。 多音字的功能相关代码其实改动很小,就是把所有拼音遍历一遍就可以把所有读音都拼接起来,但是要把多音字的字典弄全这个工作量太大了,暂时没找到合适的工具能够批量生成文字的拼音。以后如果有合适的工具了,可以增加一个可选参数来完成多音字功能
1.拼音带声调是可以实现的,无非就是把目前的字典再细化,将输出的拼音改成带声调的拼音。不过我不会去做这个事情,太麻烦,有兴趣的话你自己可以试一下。
2.这个功能是否可以用VBA实现独立运行,这个我不知道是否可以实现。另外不知道你的使用场景,给不了你更多的建议。
3.目前这个代码是专门解决网上通用版的Excel汉字转换拼音功能中存在的问题,追求的是广泛通用,其他个性化的功能需要用户自己改造。 针对多音字的转换需求,@likewam @iuytr 目前我能想到两个方案,方案一:将多音字单独列出,进行独立的拼音转换。方案二:将多音字添加到对应的多个读音选项位置,每次转换时遍历整个字库。这两个方案的编码工作量虽然都很大,但还只是工时问题,最大的问题是需要先整理出一个多音字读音库供我使用,否则就需要我翻遍整个新华字典,这个工作量太大了。
|