VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -