有时候我们想把汉字转换为拼音字头的需求,用VB函数可以。
'把汉字转换为拼音字头
Public Function getPY(ByRef str_Renamed As String) As String
Dim i As Object
getPY = ""
For i = 0 To Len(str_Renamed) - 1
getPY = getPY & getPYChar(Mid(str_Renamed, i + 1, 1))
Next
End Function
‘通过Asc码判断对应字母
Public Function getPYChar(ByRef char_Renamed As String) As String
Dim lChar As Integer
getPYChar = “”
lChar = 65536 + Asc(char_Renamed)
If (lChar >= 45217 And lChar <= 45252) Then getPYChar = “A”
If (lChar >= 45253 And lChar <= 45760) Then getPYChar = “B”
If (lChar >= 45761 And lChar <= 46317) Then getPYChar = “C”
If (lChar >= 46318 And lChar <= 46825) Then getPYChar = “D”
If (lChar >= 46826 And lChar <= 47009) Then getPYChar = “E”
If (lChar >= 47010 And lChar <= 47296) Then getPYChar = “F”
If (lChar >= 47297 And lChar <= 47613) Then getPYChar = “G”
If (lChar >= 47614 And lChar <= 48118) Then getPYChar = “H”
If (lChar >= 48119 And lChar <= 49061) Then getPYChar = “J”
If (lChar >= 49062 And lChar <= 49323) Then getPYChar = “K”
If (lChar >= 49324 And lChar <= 49895) Then getPYChar = “L”
If (lChar >= 49896 And lChar <= 50370) Then getPYChar = “M”
If (lChar >= 50371 And lChar <= 50613) Then getPYChar = “N”
If (lChar >= 50614 And lChar <= 50621) Then getPYChar = “O”
If (lChar >= 50622 And lChar <= 50905) Then getPYChar = “P”
If (lChar >= 50906 And lChar <= 51386) Then getPYChar = “Q”
If (lChar >= 51387 And lChar <= 51445) Then getPYChar = “R”
If (lChar >= 51446 And lChar <= 52217) Then getPYChar = “S”
If (lChar >= 52218 And lChar <= 52697) Then getPYChar = “T”
If (lChar >= 52698 And lChar <= 52979) Then getPYChar = “W”
If (lChar >= 52980 And lChar <= 53671) Then getPYChar = “X”
If (lChar >= 53672 And lChar <= 54480) Then getPYChar = “Y”
If (lChar >= 54481 And lChar <= 55287) Then getPYChar = “Z”
End Function