- 日時: 2007/07/16 10:58
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[テキストボックス][][] * * キーワード:入力制限,規制,,,, * ***********************************************************************************
元質問:テキストボックスのバイト制限 - FRIDAYNIGHT 2003/07/18-14:42 No.4893
------------------------------------------------------------------------------ Re: テキストボックスのバイト制限 - 花ちゃん 2003/07/18-15:10 No.4895 ------------------------------------------------------------------------------
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
同様の質問が何度か出てきたので掲載しておきます。
|