- ベストアンサー
テキストボックスの設定。
テキストボックスのプロパティ等で、定型入力の設定はできますか? 電話番号を入力すると、 01234567890 → 012-3456-7890 と表示したいです。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#2の方がおっしゃるとおり、電話番号の場合、ハイフンの位置が特定されませんので、実質的に非常に困難です。 しかし、例えば郵便番号のようにハイフン位置が固定されていれば、マスク エディット (MaskEdBox) コントロールを使えば可能です。 その場合、Maskプロパティに 999-99999 あるいは ###-##### を設定します。
その他の回答 (4)
- mfuku
- ベストアンサー率50% (173/345)
#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")
お礼
上記の記述できました♪ Maskは定型入力の設定。 後はテキストボックスとほぼ同じような処理と考えればわかった気がします。違うかな? 本当にありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17070)
-が入る位置が一定なら Sub test01() a = "23456789" b = Format(a, "00-000-0000") MsgBox b End Sub を参考にして、使えませんか。02-345-6789になります。 上記でbをText1.Textに戻せばどうでしょう。
- Samurai-Jack
- ベストアンサー率18% (130/697)
プロパティでは難しいのではないでしょうか?というのも、どこで区切るのかは、市外局番の情報を持っていないと判断できないからです。(03-5XXにするか035-XXにするか) それに、フリーダイヤルや携帯でも区切り位置が変わりますよね? したがって、自力(VB)でやるか、Inputmanのような3rd Partyの製品を使うか、テキストボックスを3つに分けて好きに入力させるか、だと思います。
- snoopy64
- ベストアンサー率42% (337/793)
###-####-#### で出来そうな気がします。とりあえず。未確認です。 頑張ってくださいヽ(^。^)ノ
補足
回答ありがとうございました。 (MaskEdBox) コントロールで入力はうまくいきました。 しかし、実行後、MaskEdBoxの値を変更しようとしても変更できません。ヘルプを参照しても(MaskEdBox) コントロールの使用方法(コーディング)がわかりませんでした。(恥) 簡単な記述等、ありましたら教えてください。 データはAccessで管理しています。 よろしくお願いします。