Private Sub Text7_Change()
Dim gbascii
If Len(Trim(Text7.Text)) > 0 Then
If Asc(Text7.Text) < 0 Then
gbascii = AscB(StrConv(Text7.Text, vbFromUnicode)) '区位码在16区之后的为汉字
If gbascii - 160 > 15 Then
'MsgBox "是汉字", vbOKOnly + vbExclamation, "警告"
Text1.Text = Text7.Text
Else
MsgBox "是全角符号,请删除!", vbOKOnly + vbExclamation, "警告"
Text7.SetFocus
Text7.Text = ""
End If
Else
MsgBox "是半角英文或数字,请删除!", vbOKOnly + vbExclamation, "警告"
Text7.SetFocus
Text7.Text = ""
End If
Else
MsgBox "内容不能空,请输入汉字!", vbOKOnly + vbExclamation, "警告"
Text7.SetFocus
Text7.Text = "张"
End If
End Sub
Private Sub Text7_LostFocus()
Dim gbascii
If Len(Trim(Text7.Text)) > 0 Then
If Asc(Text7.Text) < 0 Then
gbascii = AscB(StrConv(Text7.Text, vbFromUnicode))
'区位码在16区之后的为汉字
If gbascii - 160 > 15 Then
' 汉字
Text1.Text = Text7.Text
Else
MsgBox "是全角符号,请删除后输入汉字!", vbOKOnly + vbExclamation, "警告"
Text7.SetFocus
Text7.Text = ""
End If
Else
MsgBox "是半角英文或数字,请删除后输入汉字!", vbOKOnly + vbExclamation, "警告"
Text7.SetFocus
Text7.Text = ""
End If
Else
MsgBox "内容不能空,请输入汉字!", vbOKOnly + vbExclamation, "警告"
Text7.SetFocus
Text7.Text = "张"
End If
End Sub
使用说明 :Text7是文本控件名称,全部替换改成实际的就可以,测试通过 。