VB代码:
'---------------------------
'汉字转拼音
'---------------------------
Public Function GetPY(Str As String) As String
On Error GoTo PROC_ERROR
Dim i As Long
For i = 0 To Len(Str) - 1
GetPY = GetPY & GetPYChar(Mid(Str, i + 1, 1))
Next
PROC_ERROR:
Exit Function
End Function
Public Function GetPYChar(char As String) As String
On Error GoTo PROC_ERROR
Dim d As New Dictionary
d.Add "a", -20319
d.Add "ai", -20317
d.Add "an", -20304
d.Add "ang", -20295
d.Add "ao", -20292
d.Add "ba", -20283
d.Add "bai", -20265
d.Add "ban", -20257
d.Add "bang", -20242
d.Add "bao", -20230
d.Add "bei", -20051
d.Add "ben", -20036
d.Add "beng", -20032
d.Add "bi", -20026
d.Add "bian", -20002
d.Add "biao", -19990
d.Add "bie", -19986
d.Add "bin", -19982
d.Add "bing", -19976
d.Add "bo", -19805
d.Add "bu", -19784
d.Add "ca", -19775
d.Add "cai", -19774
d.Add "can", -19763
d.Add "cang", -19756
d.Add "cao", -19751
d.Add "ce", -19746
d.Add "ceng", -19741
d.Add "cha", -19739
d.Add "chai", -19728
d.Add "chan", -19725
d.Add "chang", -19715
d.Add "chao", -19540
d.Add "che", -19531
d.Add "chen", -19525
d.Add "cheng", -19515
d.Add "chi", -19500
d.Add "chong", -19484
d.Add "chou", -19479
d.Add "chu", -19467
d.Add "chuai", -19289
d.Add "chuan", -19288
d.Add "chuang", -19281
d.Add "chui", -19275
d.Add "chun", -19270
d.Add "chuo", -19263
d.Add "ci", -19261
d.Add "cong", -19249
d.Add "cou", -19243
d.Add "cu", -19242
d.Add "cuan", -19238
d.Add "cui", -19235
d.Add "cun", -19227
d.Add "cuo", -19224
d.Add "da", -19218
d.Add "dai", -19212
d.Add "dan", -19038
d.Add "dang", -19023
d.Add "dao", -19018
d.Add "de", -19006
d.Add "deng", -19003
d.Add "di", -18996
d.Add "dian", -18977
d.Add "diao", -18961
d.Add "die", -18952
d.Add "ding", -18783
d.Add "diu", -18774
d.Add "dong", -18773
d.Add "dou", -18763
d.Add "du", -18756