我在买来得vb书中有个关于拼音简码转换的函数,但是有个字就是不对,锉字就转换错了
应该是 c  转换后是z,有没有好的拼音转换函数了,谢谢各位大哥

解决方案 »

  1.   

    我有一段取拼音声母的代码,希望对你有用。
    Option Explicit
    Option Compare TextPublic Function GetPY(ByVal Value As String) As String
        
        Const c_CC          As String = "驁,簿,錯,鵽,樲,鰒,腂,夻,攈,穒,鱳,旀,桛,漚,曝,囕,鶸,蜶,籜,鶩,鑂,韻,咗"
        Const c_PY          As String = "A,B,C,D,E,F,G,H,J,K,L,M,N,O,P,Q,R,S,T,W,X,Y,Z"    Dim i           As Long
        Dim j           As Long
        Dim lngChar     As Long
        Dim strChar     As String
        Dim arrCC       As Variant
        Dim arrPY       As Variant
            
        arrCC = Split(c_CC, ",")
        arrPY = Split(c_PY, ",")
        
        For i = 1 To Len(Value)
            strChar = Mid(Value, i, 1)
            lngChar = Abs(AscW(strChar))
            If lngChar >= 19968 And lngChar <= 40869 Then
                '只处理中文字符
                For j = 0 To 22
                    If strChar <= arrCC(j) Then
                        strChar = arrPY(j)
                        Exit For
                    End If
                Next j
            End If
            GetPY = GetPY & strChar
        Next i
        
    End Function
      

  2.   

    注意Option Compare Text必不可少。