Option Explicit'在窗口中加两个TEXT控件,一个输入中文,一个显示英文 Private Sub Form_Load() Text1.Text = "我是中国人" End SubPrivate Sub Command1_Click() Text2.Text = GetPY(Text1.Text) End Sub'获得输入名称的首字拼音 Private Function GetPY(ByVal strParmeter As String) As String Dim intTmp As String, i As Long
For i = 1 To Len(strParmeter) intTmp = Asc(Mid(strParmeter, i, 1)) If intTmp < Asc("啊") Then GetPY = GetPY & "*" ElseIf intTmp >= Asc("啊") And intTmp < Asc("芭") Then GetPY = GetPY & "A" ElseIf intTmp >= Asc("芭") And intTmp < Asc("擦") Then GetPY = GetPY & "B" ElseIf intTmp >= Asc("擦") And intTmp < Asc("搭") Then GetPY = GetPY & "C" ElseIf intTmp >= Asc("搭") And intTmp < Asc("蛾") Then GetPY = GetPY & "D" ElseIf intTmp >= Asc("蛾") And intTmp < Asc("发") Then GetPY = GetPY & "E" ElseIf intTmp >= Asc("发") And intTmp < Asc("噶") Then GetPY = GetPY & "F" ElseIf intTmp >= Asc("噶") And intTmp < Asc("哈") Then GetPY = GetPY & "G" ElseIf intTmp >= Asc("哈") And intTmp < Asc("击") Then GetPY = GetPY & "H" ElseIf intTmp >= Asc("击") And intTmp < Asc("喀") Then GetPY = GetPY & "J" ElseIf intTmp >= Asc("喀") And intTmp < Asc("垃") Then GetPY = GetPY & "K" ElseIf intTmp >= Asc("垃") And intTmp < Asc("妈") Then GetPY = GetPY & "L" ElseIf intTmp >= Asc("妈") And intTmp < Asc("拿") Then GetPY = GetPY & "M" ElseIf intTmp >= Asc("拿") And intTmp < Asc("哦") Then GetPY = GetPY & "N" ElseIf intTmp >= Asc("哦") And intTmp < Asc("啪") Then GetPY = GetPY & "O" ElseIf intTmp >= Asc("啪") And intTmp < Asc("期") Then GetPY = GetPY & "P" ElseIf intTmp >= Asc("期") And intTmp < Asc("然") Then GetPY = GetPY & "Q" ElseIf intTmp >= Asc("然") And intTmp < Asc("撒") Then GetPY = GetPY & "R" ElseIf intTmp >= Asc("撒") And intTmp < Asc("塌") Then GetPY = GetPY & "S" ElseIf intTmp >= Asc("塌") And intTmp < Asc("挖") Then GetPY = GetPY & "T" ElseIf intTmp >= Asc("挖") And intTmp < Asc("昔") Then GetPY = GetPY & "W" ElseIf intTmp >= Asc("昔") And intTmp < Asc("压") Then GetPY = GetPY & "X" ElseIf intTmp >= Asc("压") And intTmp < Asc("匝") Then GetPY = GetPY & "Y" ElseIf intTmp >= Asc("匝") And intTmp < 0 Then GetPY = GetPY & "Z" ElseIf (intTmp >= 65 And intTmp <= 91) Or (intTmp >= 97 And intTmp <= 123) Then GetPY = GetPY & Mid(strParmeter, i, 1) Else GetPY = GetPY & "*" End If Next End Function
Private Sub Form_Load()
Text1.Text = "我是中国人"
End SubPrivate Sub Command1_Click()
Text2.Text = GetPY(Text1.Text)
End Sub'获得输入名称的首字拼音
Private Function GetPY(ByVal strParmeter As String) As String
Dim intTmp As String, i As Long
For i = 1 To Len(strParmeter)
intTmp = Asc(Mid(strParmeter, i, 1)) If intTmp < Asc("啊") Then
GetPY = GetPY & "*"
ElseIf intTmp >= Asc("啊") And intTmp < Asc("芭") Then
GetPY = GetPY & "A"
ElseIf intTmp >= Asc("芭") And intTmp < Asc("擦") Then
GetPY = GetPY & "B"
ElseIf intTmp >= Asc("擦") And intTmp < Asc("搭") Then
GetPY = GetPY & "C"
ElseIf intTmp >= Asc("搭") And intTmp < Asc("蛾") Then
GetPY = GetPY & "D"
ElseIf intTmp >= Asc("蛾") And intTmp < Asc("发") Then
GetPY = GetPY & "E"
ElseIf intTmp >= Asc("发") And intTmp < Asc("噶") Then
GetPY = GetPY & "F"
ElseIf intTmp >= Asc("噶") And intTmp < Asc("哈") Then
GetPY = GetPY & "G"
ElseIf intTmp >= Asc("哈") And intTmp < Asc("击") Then
GetPY = GetPY & "H"
ElseIf intTmp >= Asc("击") And intTmp < Asc("喀") Then
GetPY = GetPY & "J"
ElseIf intTmp >= Asc("喀") And intTmp < Asc("垃") Then
GetPY = GetPY & "K"
ElseIf intTmp >= Asc("垃") And intTmp < Asc("妈") Then
GetPY = GetPY & "L"
ElseIf intTmp >= Asc("妈") And intTmp < Asc("拿") Then
GetPY = GetPY & "M"
ElseIf intTmp >= Asc("拿") And intTmp < Asc("哦") Then
GetPY = GetPY & "N"
ElseIf intTmp >= Asc("哦") And intTmp < Asc("啪") Then
GetPY = GetPY & "O"
ElseIf intTmp >= Asc("啪") And intTmp < Asc("期") Then
GetPY = GetPY & "P"
ElseIf intTmp >= Asc("期") And intTmp < Asc("然") Then
GetPY = GetPY & "Q"
ElseIf intTmp >= Asc("然") And intTmp < Asc("撒") Then
GetPY = GetPY & "R"
ElseIf intTmp >= Asc("撒") And intTmp < Asc("塌") Then
GetPY = GetPY & "S"
ElseIf intTmp >= Asc("塌") And intTmp < Asc("挖") Then
GetPY = GetPY & "T"
ElseIf intTmp >= Asc("挖") And intTmp < Asc("昔") Then
GetPY = GetPY & "W"
ElseIf intTmp >= Asc("昔") And intTmp < Asc("压") Then
GetPY = GetPY & "X"
ElseIf intTmp >= Asc("压") And intTmp < Asc("匝") Then
GetPY = GetPY & "Y"
ElseIf intTmp >= Asc("匝") And intTmp < 0 Then
GetPY = GetPY & "Z"
ElseIf (intTmp >= 65 And intTmp <= 91) Or (intTmp >= 97 And intTmp <= 123) Then
GetPY = GetPY & Mid(strParmeter, i, 1)
Else
GetPY = GetPY & "*"
End If
Next
End Function
免费控件下载