テキストボックスに入力した文字によりシステムの日付を変更する方法を教えて下さい。
Date = ”2001/01/01”
でシステムへ日付を設定するのは分かるのですが、年の4桁のみテキストボックスより取得する場合、””の中は、どのように書けば良いのでしょうか?
""の中が、〜型なのかが分かりません。
宜しくお願い致します。
一発では無理なので、
1.システム日付の取得
2.テキストボックスの読み取り
3.テキストボックス(年のみ)とシステム日付(月日)の合成
4.システム日付の設定
と順番に片付けていきましょう。
型はStringでできます。
Loreleyさん有難う御座いました。
1,2,4に関しては、OKです。
3に関してですが
Today = "年" & "/" & "月" & "/" & "日"
間違えて送信をしてしましました。
1,2に関しては、OKです。3,4は以下の様にしたいのですが、
Dim month_buf As Date
Dim date_buf As Date
Dim Today As String
month_buf = Format(Now, "mm") 'システム日付取得
date_buf = Format(Now, "dd")
Today = "テキストボックス入力" & "/" & "月" & "/" & "日"
Date = Today
Todayへの合成ですが、どのようにすればよいか御教示願います。
上記ロジックでほとんどできているようですが、あと一息。
日付の月・日の部分(例えば4/3なら”4”と”3”)を
格納する変数はDate型ではなく文字列型でいいとおもいます。
で、
Dim month_buf As String
Dim date_buf As String
Dim Today As String
month_buf = Format(Now, "mm") 'システム日付取得
date_buf = Format(Now, "dd")
Today = "テキストボックス入力" & "/" & month_buf & "/" & date_buf
Date = Today
というかんじになればできると思いますよ。
あとは年入力のテキストがちゃんとした値でなければDate文でエラー
がでるはずなので、そのチェックは必要だと思います。
有難う御座いました。日付取得は文字列でも出来たんですね!
解決済みですが、ちょっと補足です。
>日付取得は文字列でも出来たんですね!
日付取得が文字列型でもできるというよりは、月および日の値
(4/3なら"04"と"03")はformat関数で"04"、"03"という形に
抜き出した時点で既に日付型としての意味合いはなく、Variant型の
文字列"04"と"03"になっているということです。
これをDate型に格納することもできますが、元の4月や3日という
意味ではなく、1899/12/31(?)から4ないし3日後の日が返されて
しまいますのでご注意を。
なるほど、そーいうことなんですね。今まで日付型で取得できてたので、勘違いをしていました。
ツイート | ![]() |