• 締切済み

テキストボックスでの数値の表示のしかた

VBをつい最近はじめた者です。(^^; テキストボックスに、例えば '234'と入力したとき、同じテキストボックスに'000234'というように、あらかじめ決めた桁数(この場合6桁)を満たすように、上位の桁に0を表示させるようにするにはどうしたら良いでしょうか。 また、はじめは '000000' と表示させておき、入力後に'000234'と表示できるとなお良いです。 プロパティのMaxLengthで'6'の設定はしてあります。

みんなの回答

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.4

Masked Edit を使っても良いんじゃないでしょうか。 プロジェクトのコンポーネントから、 Microsoft Masked Edit Control 6.0 を選んで、フォームに同コントロールを貼り付け、 右クリックのプロパティから  入力マスクが######  プロンプト文字が0  フォントは等幅フォントに ってな感じで指定すれば… 234を入力したい場合でも頭3桁に0を入力しなくてはいけない等の若干のクセはありますが、その辺は使ってみて感触を掴んでくださいな。

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

Private Sub TextBox1_GotFocus() TextBox1.Text = "000000" End Sub Private Sub TextBox1_LostFocus() t = TextBox1.Text TextBox1.Text = Right(t, 6) End Sub

すると、全ての回答が全文表示されます。
回答No.2

#1です。 見直したら、ミスがありました。2つ目を入れ替えてください。 フォーカスがあたる度に"000000"を表示したいのであればText1_GotFocusイベントで"000000"をセット。 Private Sub Text1_GotFocus()  Text1.Text = "000000"  Text1.SelStart = 0  Text1.SelLength = Len(Text1.Text) End Sub です。(冷汗)

kistune
質問者

お礼

ありがとうございます。できました。 フォーカスが当たって"000000"を表示させたあと、入力するときにはこれを自動的に選択して消せるようにしたいので、 Private Sub Text1_GotFocus()With Text1 …… With Text1 .SelStart = 0 .SelLength = Len(.Text) End With を入れて使うことにしました。

すると、全ての回答が全文表示されます。
回答No.1

"000000"と表示は最初だけなら、Form_Loadイベントで"000000"をセット。 Private Sub Form_Load()  Text1.Text = "000000" End Sub フォーカスがあたる度に"000000"を表示したいのであればText1_GotFocusイベントで"000000"をセット。 Private Sub ()  Text1.Text = "000000" End Sub 入力後に"000234"と表示するには、 LostFocusのイベントで再表示したらどうでしょうか。 Private Sub Text1_LostFocus()  Text1.Text = Format(Val(Text1.Text), "000000") End Sub ではでは

すると、全ての回答が全文表示されます。

関連するQ&A