VB代码如何正确使用
我需要自动生成助记码,如Z当归(10头)生成ZDG10T,使用了代码Function GetPY(ByVal str As String) As String
Dim i As Integer
Dim py As String
Dim code As Long
For i = 1 To Len(str)
code = AscW(Mid(str, i, 1))
If code < 0 Then code = code + 65536
Select Case code
Case -20319 To -20284: py = py & "A"
Case -20283 To -19776: py = py & "B"
Case -19775 To -19219: py = py & "C"
Case -19218 To -18711: py = py & "D"
Case -18710 To -18527: py = py & "E"
Case -18526 To -18240: py = py & "F"
Case -18239 To -17923: py = py & "G"
Case -17922 To -17418: py = py & "H"
Case -17417 To -16475: py = py & "J"
Case -16474 To -16213: py = py & "K"
Case -16212 To -15641: py = py & "L"
Case -15640 To -15166: py = py & "M"
Case -15165 To -14923: py = py & "N"
Case -14922 To -14915: py = py & "O"
Case -14914 To -14631: py = py & "P"
Case -14630 To -14150: py = py & "Q"
Case -14149 To -14091: py = py & "R"
Case -14090 To -13319: py = py & "S"
Case -13318 To -12839: py = py & "T"
Case -12838 To -12557: py = py & "W"
Case -12556 To -11848: py = py & "X"
Case -11847 To -11056: py = py & "Y"
Case -11055 To -10247: py = py & "Z"
Case Else: py = py & Mid(str, i, 1) ' 非汉字保留原字符
End Select
Next
GetPY = UCase(py)
End Function
生成的确是原文字,请问这个是怎么回事