• 締切済み

テキストボックス内の文字を常に1字に制限する方法を教えてください。

例えば、Private Sub Text1_KeyPress(KeyAscii) の中で Text1.text=Right(Text1.text,1) のようにすれば、常に右端の1字だけ表示されると思うのですが、 実際にやってみると、2文字表示されてしまうことがしばしばです。

みんなの回答

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

MaxLength プロパティを使わず、コードで実現するなら LEN で文字数を調べて 既に1文字入力されていたら、キー入力をキャンセルするようにします。 Private Sub Text1_KeyPress(KeyAscii As Integer)   If KeyAscii <> 8 And Len(Text1.Text) = 1 Then     KeyAscii = 0   End If End Sub

Ishiwara
質問者

お礼

ありがとうございました。 残念ですが、役に立ちませんでした。

  • kiki_s
  • ベストアンサー率59% (147/248)
回答No.2

MaxLengthプロパティを「1」にすれば文字数の制限が出来ます。 全角、半角とも同じ1文字と認識します。 「0」は制限無しです。

Ishiwara
質問者

お礼

ありがとうございました。 残念ですが、役に立ちませんでした。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

VBAしか知りませんが、、、 TextBox に MaxLength プロパティってありませんか?

Ishiwara
質問者

お礼

ありがとうございました。 残念ですが、役に立ちませんでした。