tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
テキストボックスのバイト制限(VB6.0) ( No.0 )  [親スレッドへ]
日時: 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


同様の質問が何度か出てきたので掲載しておきます。



 [スレッド一覧へ] [親スレッドへ]