プロが教えるわが家の防犯対策術!

テキストボックスのプロパティ等で、定型入力の設定はできますか?

電話番号を入力すると、
01234567890 → 012-3456-7890 と表示したいです。

よろしくお願いします。

A 回答 (5件)

###-####-####


で出来そうな気がします。とりあえず。未確認です。
頑張ってくださいヽ(^。^)ノ
    • good
    • 0

プロパティでは難しいのではないでしょうか?というのも、どこで区切るのかは、市外局番の情報を持っていないと判断できないからです。

(03-5XXにするか035-XXにするか)

それに、フリーダイヤルや携帯でも区切り位置が変わりますよね?

したがって、自力(VB)でやるか、Inputmanのような3rd Partyの製品を使うか、テキストボックスを3つに分けて好きに入力させるか、だと思います。
    • good
    • 0

#2の方がおっしゃるとおり、電話番号の場合、ハイフンの位置が特定されませんので、実質的に非常に困難です。



しかし、例えば郵便番号のようにハイフン位置が固定されていれば、マスク エディット (MaskEdBox) コントロールを使えば可能です。

その場合、Maskプロパティに

999-99999
あるいは
###-#####
を設定します。

この回答への補足

回答ありがとうございました。
(MaskEdBox) コントロールで入力はうまくいきました。

しかし、実行後、MaskEdBoxの値を変更しようとしても変更できません。ヘルプを参照しても(MaskEdBox) コントロールの使用方法(コーディング)がわかりませんでした。(恥)

簡単な記述等、ありましたら教えてください。
データはAccessで管理しています。
よろしくお願いします。

補足日時:2004/10/29 10:53
    • good
    • 0

-が入る位置が一定なら


Sub test01()
a = "23456789"
b = Format(a, "00-000-0000")
MsgBox b
End Sub
を参考にして、使えませんか。02-345-6789になります。
上記でbをText1.Textに戻せばどうでしょう。
    • good
    • 0

#3の者です。



定型入力のマスク設定を下記のようにしているとしたら、

MaskEdBox1.Mask = "999-9999-9999"

下記のようにハイフン付きで設定すれば値を変更できます。

【直接指定】
MaskEdBox1.Text = "012-3456-7890"
【DBの値】
MaskEdBox1.Text = objRecordset("フィールド名")

ただし、もしもAccess上のデータがハイフン付きでなかったとした場合は、下記のようにフォーマット関数で編集すればOKです。

【直接指定】
MaskEdBox1.Text = Format("01234567890", "000-0000-0000")
【DBの値】
MaskEdBox1.Text = Format(objRecordset("フィールド名"), "000-0000-0000")
    • good
    • 1
この回答へのお礼

上記の記述できました♪

Maskは定型入力の設定。
後はテキストボックスとほぼ同じような処理と考えればわかった気がします。違うかな?

本当にありがとうございました。

お礼日時:2004/10/29 13:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!