宏-汉字转换拼音

发布时间:2015-01-23 11:31:56   来源:文档文库   
字号:

公司要建DataBase,为了让老外们看明白,所以要吧中文店名全部转换成拼音。

5000多家,搞得头好晕,所以请教了下高手,发现了VBA的一个小技巧,分享给大家,希望大家有用哦::P 

具体方法如下:

打开Excel->Tools->Macro()->Viaual Basic编辑器

点击插入->Module(模块)

然后会出现一个Module1,空白栏中粘贴以下内容:



Option Explicit

Option Compare Text



Public Function HZQP(expression As String, Optional delimiter As String = " ", Optional limit As Integer = -1) As String



'expression

'     必需的?包含要转换的字符串?

'delimiter

'     可选的。用于标识分隔拼音的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回仅包含一个元素,即完整的 expression字符串。

'limit

'     可选的。要返回拼音字符数,–1表示返回所有的拼音字符数,1表示返回拼音首字母。





Dim STR As String, arrWord(400) As String

Dim i As Integer, j As Integer

arrWord(1) = "a"

arrWord(2) = "ai"

arrWord(3) = "an"

arrWord(4) = "ang"

arrWord(5) = "ao"

arrWord(6) = "ba"

arrWord(7) = "bai"

arrWord(8) = "ban"

arrWord(9) = "bang"

arrWord(10) = "bao"

arrWord(11) = "bei"

arrWord(12) = "ben"

arrWord(13) = "beng"

arrWord(14) = "bi"

arrWord(15) = "bian"

arrWord(16) = "biao"

arrWord(17) = "bie"

arrWord(18) = "bin"

arrWord(19) = "bing"

arrWord(20) = "bo"

arrWord(21) = "bu"

arrWord(22) = "ca"

arrWord(23) = "cai"

arrWord(24) = "can"

arrWord(25) = "cang"

arrWord(26) = "cao"

arrWord(27) = "ce"

arrWord(28) = "cen"

arrWord(29) = "ceng"

arrWord(30) = "*cha"

arrWord(31) = "chai"

arrWord(32) = "辿chan"

arrWord(33) = "chang"

arrWord(34) = "chao"

arrWord(35) = "che"

arrWord(36) = "chen"

arrWord(37) = "cheng"

arrWord(38) = "chi"

arrWord(39) = "chong"

arrWord(40) = "chou"

arrWord(41) = "chu"

arrWord(42) = "chuai"

arrWord(43) = "chuan"

arrWord(44) = "chuang"

arrWord(45) = "chui"

arrWord(46) = "chun"

arrWord(47) = "chuo"

arrWord(48) = "ci"

arrWord(49) = "cong"

arrWord(50) = "cou"

arrWord(51) = "cu"

arrWord(52) = "cuan"

arrWord(53) = "cui"

arrWord(54) = "cun"

arrWord(55) = "cuo"

arrWord(56) = "da"

arrWord(57) = "dai"

arrWord(58) = "dan"

arrWord(59) = "dang"

arrWord(60) = "dao"

arrWord(61) = "de"

arrWord(62) = "deng"

arrWord(63) = "di"

arrWord(64) = "dian"

arrWord(65) = "diao"

arrWord(66) = "die"

arrWord(67) = "ding"

arrWord(68) = "diu"

arrWord(69) = "dong"

arrWord(70) = "dou"

arrWord(71) = "du"

arrWord(72) = "duan"

arrWord(73) = "dui"

arrWord(74) = "dun"

arrWord(75) = "duo"

arrWord(76) = "e"

arrWord(77) = "en"

arrWord(78) = "er"

arrWord(79) = "fa"

arrWord(80) = "fan"

arrWord(81) = "fang"

arrWord(82) = "fei"

arrWord(83) = "fen"

arrWord(84) = "feng"

arrWord(85) = "fo"

arrWord(86) = "fou"

arrWord(87) = "fu"

arrWord(88) = "ga"

arrWord(89) = "gai"

arrWord(90) = "gan"

arrWord(91) = "gang"

arrWord(92) = "gao"

arrWord(93) = "ge"

arrWord(94) = "gei"

arrWord(95) = "gen"

arrWord(96) = "geng"

arrWord(97) = "gong"

arrWord(98) = "gou"

arrWord(99) = "gu"

arrWord(100) = "gua"

arrWord(101) = "guai"

arrWord(102) = "guan"

arrWord(103) = "guang"

arrWord(104) = "gui"

arrWord(105) = "gun"

arrWord(106) = "guo"

arrWord(107) = "ha"

arrWord(108) = "hai"

arrWord(109) = "han"

arrWord(110) = "hang"

arrWord(111) = "hao"

arrWord(112) = "he"

arrWord(113) = "hei"

arrWord(114) = "hen"

arrWord(115) = "heng"

arrWord(116) = "hong"

arrWord(117) = "hou"

arrWord(118) = "hu"

arrWord(119) = "hua"

arrWord(120) = "怀huai"

arrWord(121) = "huan"

arrWord(122) = "huang"

arrWord(123) = "hui"

arrWord(124) = "hun"

arrWord(125) = "huo"

arrWord(126) = "ji"

arrWord(127) = "jia"

arrWord(128) = "jian"

arrWord(129) = "jiang"

arrWord(130) = "jiao"

arrWord(131) = "jie"

arrWord(132) = "jin"

arrWord(133) = "jing"

arrWord(134) = "jiong"

arrWord(135) = "jiu"

arrWord(136) = "ju"

arrWord(137) = "juan"

arrWord(138) = "jue"

arrWord(139) = "jun"

arrWord(140) = "ka"

arrWord(141) = "kai"

arrWord(142) = "kan"

arrWord(143) = "kang"

arrWord(144) = "kao"

arrWord(145) = "ke"

arrWord(146) = "ken"

arrWord(147) = "keng"

arrWord(148) = "kong"

arrWord(149) = "kou"

arrWord(150) = "ku"

arrWord(151) = "kua"

arrWord(152) = "kuai"

arrWord(153) = "kuan"

arrWord(154) = "kuang"

arrWord(155) = "kui"

arrWord(156) = "kun"

arrWord(157) = "kuo"

arrWord(158) = "la"

arrWord(159) = "lai"

arrWord(160) = "lan"

arrWord(161) = "lang"

arrWord(162) = "lao"

arrWord(163) = "le"

arrWord(164) = "lei"

arrWord(165) = "leng"

arrWord(166) = "li"

arrWord(167) = "lia"

arrWord(168) = "lian"

arrWord(169) = "liang"

arrWord(170) = "liao"

arrWord(171) = "lie"

arrWord(172) = "lin"

arrWord(173) = "ling"

arrWord(174) = "liu"

arrWord(175) = "lo"

arrWord(176) = "long"

arrWord(177) = "lou"

arrWord(178) = "lu"

arrWord(179) = "lv"

arrWord(180) = "luan"

arrWord(181) = "lue"

arrWord(182) = "lun"

arrWord(183) = "luo"

arrWord(184) = "ma"

arrWord(185) = "mai"

arrWord(186) = "man"

arrWord(187) = "mang"

arrWord(188) = "mao"

arrWord(189) = "me"

arrWord(190) = "mei"

arrWord(191) = "men"

arrWord(192) = "meng"

arrWord(193) = "mi"

arrWord(194) = "mian"

arrWord(195) = "miao"

arrWord(196) = "mie"

arrWord(197) = "min"

arrWord(198) = "ming"

arrWord(199) = "miu"

arrWord(200) = "mo"

arrWord(201) = "mou"

arrWord(202) = "mu"

arrWord(203) = "na"

arrWord(204) = "nai"

arrWord(205) = "nan"

arrWord(206) = "nang"

arrWord(207) = "nao"

arrWord(208) = "ne"

arrWord(209) = "nei"

arrWord(210) = "nen"

arrWord(211) = "neng"

arrWord(212) = "ni"

arrWord(213) = "nian"

arrWord(214) = "niang"

arrWord(215) = "niao"

arrWord(216) = "nie"

arrWord(217) = "nin"

arrWord(218) = "ning"

arrWord(219) = "niu"

arrWord(220) = "nong"

arrWord(221) = "nu"

arrWord(222) = "nv"

arrWord(223) = "nue"

arrWord(224) = "nuan"

arrWord(225) = "nuo"

arrWord(226) = "o"

arrWord(227) = "ou"

arrWord(228) = "pa"

arrWord(229) = "pai"

arrWord(230) = "pan"

arrWord(231) = "pang"

arrWord(232) = "pao"

arrWord(233) = "pei"

arrWord(234) = "pen"

arrWord(235) = "peng"

arrWord(236) = "pi"

arrWord(237) = "pian"

arrWord(238) = "piao"

arrWord(239) = "pie"

arrWord(240) = "pin"

arrWord(241) = "ping"

arrWord(242) = "po"

arrWord(243) = "pu"

arrWord(244) = "qi"

arrWord(245) = "qia"

arrWord(246) = "qian"

arrWord(247) = "qiang"

arrWord(248) = "qiao"

arrWord(249) = "qie"

arrWord(250) = "qin"

arrWord(251) = "qing"

arrWord(252) = "qiong"

arrWord(253) = "qiu"

arrWord(254) = "qu"

arrWord(255) = "quan"

arrWord(256) = "que"

arrWord(257) = "qun"

arrWord(258) = "ran"

arrWord(259) = "rang"

arrWord(260) = "rao"

arrWord(261) = "re"

arrWord(262) = "ren"

arrWord(263) = "reng"

arrWord(264) = "ri"

arrWord(265) = "rong"

arrWord(266) = "rou"

arrWord(267) = "嶿ru"

arrWord(268) = "ruan"

arrWord(269) = "rui"

arrWord(270) = "run"

arrWord(271) = "ruo"

arrWord(272) = "sa"

arrWord(273) = "sai"

arrWord(274) = "san"

arrWord(275) = "sang"

arrWord(276) = "sao"

arrWord(277) = "se"

arrWord(278) = "sen"

arrWord(279) = "seng"

arrWord(280) = "sha"

arrWord(281) = "shai"

arrWord(282) = "shan"

arrWord(283) = "shang"

arrWord(284) = "shao"

arrWord(285) = "she"

arrWord(286) = "shen"

arrWord(287) = "sheng"

arrWord(288) = "shi"

arrWord(289) = "shou"

arrWord(290) = "shu"

arrWord(291) = "shua"

arrWord(292) = "shuai"

arrWord(293) = "shuan"

arrWord(294) = "shuang"

arrWord(295) = "shui"

arrWord(296) = "shun"

arrWord(297) = "shuo"

arrWord(298) = "si"

arrWord(299) = "song"

arrWord(300) = "sou"

arrWord(301) = "su"

arrWord(302) = "suan"

arrWord(303) = "sui"

arrWord(304) = "sun"

arrWord(305) = "suo"

arrWord(306) = "ta"

arrWord(307) = "tai"

arrWord(308) = "tan"

arrWord(309) = "tang"

arrWord(310) = "tao"

arrWord(311) = "te"

arrWord(312) = "teng"

arrWord(313) = "ti"

arrWord(314) = "tian"

arrWord(315) = "tiao"

arrWord(316) = "tie"

arrWord(317) = "ting"

arrWord(318) = "tong"

arrWord(319) = "tou"

arrWord(320) = "tu"

arrWord(321) = "tuan"

arrWord(322) = "tui"

arrWord(323) = "tun"

arrWord(324) = "tuo"

arrWord(325) = "wa"

arrWord(326) = "wai"

arrWord(327) = "wan"

arrWord(328) = "wang"

arrWord(329) = "wei"

arrWord(330) = "wen"

arrWord(331) = "weng"

arrWord(332) = "wo"

arrWord(333) = "wu"

arrWord(334) = "xi"

arrWord(335) = "xia"

arrWord(336) = "xian"

arrWord(337) = "xiang"

arrWord(338) = "xiao"

arrWord(339) = "xie"

arrWord(340) = "xin"

arrWord(341) = "xing"

arrWord(342) = "xiong"

arrWord(343) = "xiu"

arrWord(344) = "xu"

arrWord(345) = "xuan"

arrWord(346) = "xue"

arrWord(347) = "xun"

arrWord(348) = "ya"

arrWord(349) = "yan"

arrWord(350) = "yang"

arrWord(351) = "yao"

arrWord(352) = "ye"

arrWord(353) = "yi"

arrWord(354) = "yin"

arrWord(355) = "ying"

arrWord(356) = "yo"

arrWord(357) = "yong"

arrWord(358) = "you"

arrWord(359) = "yu"

arrWord(360) = "yuan"

arrWord(361) = "yue"

arrWord(362) = "yun"

arrWord(363) = "za"

arrWord(364) = "zai"

arrWord(365) = "zan"

arrWord(366) = "zang"

arrWord(367) = "zao"

arrWord(368) = "ze"

arrWord(369) = "zei"

arrWord(370) = "zen"

arrWord(371) = "zeng"

arrWord(372) = "zha"

arrWord(373) = "zhai"

arrWord(374) = "zhan"

arrWord(375) = "zhang"

arrWord(376) = "zhao"

arrWord(377) = "zhe"

arrWord(378) = "zhen"

arrWord(379) = "zheng"

arrWord(380) = "zhi"

arrWord(381) = "zhong"

arrWord(382) = "zhou"

arrWord(383) = "zhu"

arrWord(384) = "zhua"

arrWord(385) = "zhuai"

arrWord(386) = "zhuan"

arrWord(387) = "zhuang"

arrWord(388) = "zhui"

arrWord(389) = "zhun"

arrWord(390) = "zhuo"

arrWord(391) = "zi"

arrWord(392) = "zong"

arrWord(393) = "zou"

arrWord(394) = "zu"

arrWord(395) = "zuan"

arrWord(396) = "zui"

arrWord(397) = "zun"

arrWord(398) = "zuo"

arrWord(399) = "zuo"

For i = 1 To Len(expression)

     STR = Mid(expression, i, 1)

     If (Asc(STR) < 0) Then

         For j = 1 To 399

             If Left(arrWord(j), 1) > STR Then

                 If limit = -1 Then

                     STR = Mid(arrWord(j - 1), 2) & delimiter

                 Else

                     STR = Mid(arrWord(j - 1), 2, limit) & delimiter

                 End If

                 Exit For

             End If

         Next

     End If

    HZQP = HZQP + STR

Next

HZQP = Left(HZQP, Len(HZQP) - Len(delimiter))

End Function



到上面end就粘帖完毕了,然后关掉VB编辑窗口,就回到了excel

然后在一列里输入文字,我们有3种公式可以实现方法



三种用法:    =hzqp(A2,"",-1)        =hzqp(A2,"-",-1)         =hzqp(A2," ",-1)

蒙自西路            mengzixilu              meng-zi-xi-lu                meng zi xi lu



另外附上已经做好的模板

本文来源:https://www.2haoxitong.net/k/doc/01318ca226fff705cc170a83.html

《宏-汉字转换拼音.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式