投稿日 | : 2003/07/18(Fri) 15:10 |
投稿者 | : 花ちゃん |
Eメール | : |
URL | : |
タイトル | : Re: テキストボックスのバイト制限 |
VBの場合半角も全角も2バイトなので、MaxLength で文字数を制限して下さい。
コードを書いている間に nanashi さんから回答があったようですが、せっかくつくったので
投稿しておきます。
半角を1バイトとして計算するなら
Private Sub Text1_Change()
Call SetMaxByt(Text1)
End Sub
Private Sub SetMaxByt(myTextBox As TextBox)
Dim TextLen As Long
Dim TextByt As Long
With myTextBox
TextLen = Len(.Text)
TextByt = LenB(StrConv(.Text, vbFromUnicode))
If Option1.Value = True And TextByt > 20 Then
Beep
.Text = Left$(.Text, TextLen - 1)
.SelStart = Len(.Text)
.SetFocus
End If
If Option2.Value = True And TextByt > 40 Then
Beep
.Text = Left$(.Text, TextLen - 1)
.SelStart = Len(.Text)
.SetFocus
End If
End With
End Sub