|
本帖最后由 mxg825 于 2013-4-21 17:12 编辑
用一句常用的代码!文字转拼音首个字母代码!
如:电脑 正常= DN ,但对方返回是 DM
(惠)=H 对方是 J- Sub 测试()
- MsgBox py("电脑") '问题出在这里:正常返回 DN ,但对方返回是 DM (惠)=H 对方是J
- End Sub
- Public Function py(TT As Variant) As Variant '自定义函数,目的:把一组汉字变为一组汉字拼音的第一个字母。
- py = ""
- Dim i%, temp As String
- For i = 1 To Len(TT)
- temp = Asc(VBA.Mid$(TT, i, 1))
- If temp > 255 Or temp < 0 Then '是汉字吗?
- py = py & pinyin(VBA.Mid$(TT, i, 1)) '转化为拼音首字母,
- Else
- py = py & UCase(VBA.Mid$(TT, i, 1)) '转化英文字母
- End If
- Next i
- End Function
- Public Function pinyin(Mystr As Variant) As Variant '自定义函数,目的:把单个汉字变为拼音的第一个字母。
- On Error Resume Next
- Mystr = StrConv(Mystr, vbNarrow)
- If Asc(Mystr) > 0 Or Err.Number = 1004 Then pinyin = ""
- pinyin = Application.WorksheetFunction.VLookup(Mystr, [{"吖","A";"八","B";"嚓","C";"咑","D";"鵽","E";"发","F";"猤","G";"铪","H";"夻","J";"咔","K";"垃","L";"嘸","M";"旀","N";"噢","O";"妑","P";"七","Q";"囕","R";"仨","S";"他","T";"屲","W";"夕","X";"丫","Y";"帀","Z"}], 2)
- End Function
复制代码 |
|