毎月、第3日曜日の翌日を検出するプログラムをVBで作成したいと思います。
プログラムの記述を教えてください。
【プログラム動作】
プログラムは、WINDOWSのタスク機能で、毎日6:00に起動。
プログラム起動時に、該当日ならばメッセージをウィンドゥ上に表示。
> プログラムの記述を教えてください。
それでは質問ではなく、作成依頼になってしまいますよ…。
[新規質問]のリンクから投稿しているのですから、質問の形態をとりましょう。
とりあえず、分からない点はどこでしょうか?
また、VB のバージョンは何ですか?
とりあえず、細かい説明を省いてコードだけ書くと、VB6/VBA であれば
y = 2012
m = 7
dt = DateSerial(y, m, 23 - Weekday(DateSerial(y, m, 1), vbMonday))
MsgBox dt
のような感じで算出できます。
> 毎月、第3日曜日の翌日
これは、16日〜22日のいずれかになるかと思います。
今年の 5,6,7,8,9,10,11 月のカレンダーを見てみましょう。
2012年10月は、1日が月曜日です。第3日曜日は21日で、その翌日は 2012/09/22 です。
2012年 5月は、1日が火曜日です。第3日曜日は20日で、その翌日は 2012/05/21 です。
2012年 8月は、1日が水曜日です。第3日曜日は19日で、その翌日は 2012/08/20 です。
2012年11月は、1日が木曜日です。第3日曜日は18日で、その翌日は 2012/11/19 です。
2012年 6月は、1日が金曜日です。第3日曜日は17日で、その翌日は 2012/06/18 です。
2012年 9月は、1日が土曜日です。第3日曜日は16日で、その翌日は 2012/09/17 です。
2012年 7月は、1日が日曜日です。第3日曜日は15日で、その翌日は 2012/09/16 です。
なのでまずは、該当年月の1日時点の曜日を調べるところから
プログラミングを始めてみては如何でしょうか。
曜日の算出は、上記コードにも書いた「Weekday 関数」を使えますし、
VB.NET ならば、日付値の DayOfWeekプロパティを使ってもOKです。
> 2012年 7月は、1日が日曜日です。第3日曜日は15日で、その翌日は 2012/09/16 です。
2012年 7月は、1日が日曜日です。第3日曜日は15日で、その翌日は 2012/07/16 です。
ツイート | ![]() |