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是文本控件名稱,全部替換改成實際的就可以,測試通過 。