vb 获取字符串汉字拼音的首字母

来源:互联网 发布:知福惜福下一句是什么 编辑:程序博客网 时间:2024/04/28 18:32
Public Function Pinyin(MyStr As String) As String
    If Len(Trim(MyStr)) = 0 Then
        Pinyin = ""
        Exit Function
    End If
    i As Long
    For i = 1 To Len(MyStr)
        j = asc(Mid(MyStr, i, 1))
        Select Case j
           Case -20319 To -20284: Pinyin = Pinyin + "A"
           Case -20283 To -19776: Pinyin = Pinyin + "B"
           Case -19775 To -19219: Pinyin = Pinyin + "C"
           Case -19218 To -18711: Pinyin = Pinyin + "D"
           Case -18710 To -18527: Pinyin = Pinyin + "E"
           Case -18526 To -18240: Pinyin = Pinyin + "F"
           Case -18239 To -17923: Pinyin = Pinyin + "G"
           Case -17922 To -17418: Pinyin = Pinyin + "H"
           Case -17417 To -16475: Pinyin = Pinyin + "J"
           Case -16474 To -16213: Pinyin = Pinyin + "K"
           Case -16212 To -15641: Pinyin = Pinyin + "L"
           Case -15640 To -15166: Pinyin = Pinyin + "M"
           Case -15165 To -14923: Pinyin = Pinyin + "N"
           Case -14922 To -14915: Pinyin = Pinyin + "O"
           Case -14914 To -14631: Pinyin = Pinyin + "P"
           Case -14630 To -14150: Pinyin = Pinyin + "Q"
           Case -14149 To -14091: Pinyin = Pinyin + "R"
           Case -14090 To -13319: Pinyin = Pinyin + "S"
           Case -13318 To -12839: Pinyin = Pinyin + "T"
           Case -12838 To -12557: Pinyin = Pinyin + "W"
           Case -12556 To -11848: Pinyin = Pinyin + "X"
           Case -11847 To -11056: Pinyin = Pinyin + "Y"
           Case -11055 To -10247: Pinyin = Pinyin + "Z"
           Case -9254: Pinyin = Pinyin + "Z"                ''圳
           Case -3589: Pinyin = Pinyin + "Q"                ''覃
           Case -32185: Pinyin = Pinyin + "C"               ''侴
           Case Else: Pinyin = Pinyin
        End Select
    Next i
   
End Function