|
▼初心者β さん:
>入力窓はUserFormのTextBoxを利用しております。
>なので入力完了後に登録ボタンを押したときに
>文字列数と半角判断を行って下さればOKです。
ということなので
又はTextBox1_Exitイベントでチェックしても良いですね。
Private Sub CommandButton1_Click()
Dim strIn As String
Dim strLen As Long
Dim lngRst As Long
Dim strMsg As String
strIn = Me.TextBox1.Value
If strIn = "" Then Exit Sub
If strInputCheck(strIn, strLen) <> 0 Then
strMsg = "全角が有り" & vbCrLf
End If
'変換後の文字列を戻す
Me.TextBox1.Value = strIn
strMsg = strMsg & "変換後の文字列 = " & strIn & vbCrLf
strMsg = strMsg & "変換後の文字列長 = " & strLen
MsgBox strMsg
End Sub
Function strInputCheck(sS As String, nLen As Long) As Long
sS = StrConv(sS, vbNarrow)
nLen = LenB(StrConv(sS, vbFromUnicode))
If nLen * 2 = LenB(sS) Then
strInputCheck = 0
ElseIf nLen = LenB(sS) Then
strInputCheck = 1
Else
strInputCheck = 2
End If
End Function
|
|