|
>
>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
ご丁寧にコードを書いて下さり有難うございます。
VISTAで動いているエクセル(バージョンが分からなかったです。新しいエクセルです)では問題なく動きましたが
別のパソコンWindows2000のエクセル2002では
エラーがでてしまいました。
sS = StrConv(sS, vbNarrow)の所が黄色く反転されます。
バージョンの問題でしょうか?
|
|