第3日曜日の翌日アラーム


ズルーピィ  2012-07-17 01:58:32  No: 103318  IP: 192.*.*.*

毎月、第3日曜日の翌日を検出するプログラムをVBで作成したいと思います。
プログラムの記述を教えてください。
【プログラム動作】
プログラムは、WINDOWSのタスク機能で、毎日6:00に起動。
プログラム起動時に、該当日ならばメッセージをウィンドゥ上に表示。

編集 削除
魔界の仮面弁士  2012-07-17 11:52:22  No: 103319  IP: 192.*.*.*

> プログラムの記述を教えてください。
それでは質問ではなく、作成依頼になってしまいますよ…。

[新規質問]のリンクから投稿しているのですから、質問の形態をとりましょう。


とりあえず、分からない点はどこでしょうか?
また、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-07-17 11:53:42  No: 103320  IP: 192.*.*.*

> 2012年 7月は、1日が日曜日です。第3日曜日は15日で、その翌日は 2012/09/16 です。
  2012年 7月は、1日が日曜日です。第3日曜日は15日で、その翌日は 2012/07/16 です。

編集 削除