VB6で、テキストに1と入力し、エンターを押すと00001となるようにしたいのですが…
ですが…どうしました?
ガッさんのおっしゃる通り、どうされたいのでしょうか?
投稿内容からするにFormat関数を調べると幸せになれたりするかもしれません:)
見た目だけの話なら、マスク エディット コントロールに変更してみるとか。
if textbox1.text="1" then
textbox1.text="00001"
endif
説明不足で申し訳ありません。。
Text1.Text = Format(Text1.Text, "0####")で、1桁入力はOKなんですが、2桁になると失敗してしまいます。
出来ればプログラム上で操作したいです。
medakaさんのやり方は全てのパターンをIFで設定しないと…出来ませんよね?
"0####" (Format関数の第二引数ね)
の部分の指定の仕方を調べなおすと幸せになれるかも
書式指定 "#" の意味合いを誤解されているのでしょう。
If IsNumeric(Me.Text1.Text)
Dim iHoge As Integer
iHoge = CInt(Me.Text1.Text)
Me.Text1.Text = Format$(iHoge, "00000")
End If
文字列のままであれば、PadLeft のようなメソッドを書いた方が自然かもしれません。
Format$ 関数でもできますが、予期せぬものでもすり抜けますからね。
http://jeanne.wankuma.com/tips/string/padleft.html
お、何だか幸せになれたような気がします。
確かに書式設定と#の使い方を理解できてませんでした…
じゃんぬさん、詳しく説明をありがとうございます。
そして皆さんも、低級な質問にお付き合い頂き感謝です。
あんだけ忘れまいと思ってたのに…
ツイート | ![]() |