特定の日付にポップアップを表示させるには?


リーマン  2005-04-22 12:32:38  No: 121170  IP: [192.*.*.*]

はじめまして。現在VB勉強中のリーマンです。早速質問させて頂きます。

3ヶ月に一度、特定の日の各1週間前、3日前、当日になるとポップアップを表示させたいのですが、どうしたらいいでしょう?例えば・・・

2.5.8.11月のそれぞれ1日の1週間前に"1週間前です"と表示、以下3日前、当日にもポップアップを表示させる。

イメージとしてはタスクで毎日実行させて日付を取得し、条件に合えば表示という感じなのですが、そんな事も可能なのでしょうか?ご教授願います。

編集 削除
ななし  2005-04-22 12:53:04  No: 121171  IP: [192.*.*.*]

作ったプログラムをスタートアップに登録しておいて
チェックしてポップアップ出す日ならポップアップ
ちがうなら終わる
でいいんでは?

編集 削除
リーマン  2005-04-22 12:54:12  No: 121172  IP: [192.*.*.*]

環境を忘れてました。申し訳ありません。
Win2000、VB6.0です。

編集 削除
リーマン  2005-04-22 13:00:48  No: 121173  IP: [192.*.*.*]

ななしさん、発言ありがとうございます。

私の質問が悪かったですね。すみません。
実行方法はわかるのですが、日付をチェックするプログラムのソースはどのような感じで作成すればよいでしょうか?できればひとつのプログラムで実行したいのです。1週間前、3日前、当日とファイルを別々に作成して実行するくらいなら出来るのですが、それではセンスがない感じがするので・・・。宜しくお願いします。

編集 削除
いな  2005-04-22 13:14:46  No: 121174  IP: [192.*.*.*]

Now関数で今日が何日か取得できるよね?

ごく普通に考えるとひとつのファイルになると思うんだけど
なぜ複数のファイルという考え方が出てくるのか
がいまひとつわからないです。

何日前の日付を取得といった関数は標準で用意されているので
探してみましょう。

編集 削除
ななし  2005-04-25 09:32:35  No: 121175  IP: [192.*.*.*]

今日実行すると3が帰ってくる
MsgBox DateDiff("D", Format(Now, "YYYY/MM/DD"), "2005/04/28")

編集 削除
 2005-04-25 16:02:31  No: 121176  IP: [192.*.*.*]

リーマン同士がんばりましょう。

Private Sub Form_Load()
  Dim NowDate As Date
  Dim TargetDate As Date
  Dim intDay As Integer
  
  NowDate = Format(Date, "yyyy/mm/dd")
  TargetDate = "2005/05/05" 'とりあえず固定指定
  
  intDay = DateDiff("d", NowDate, TargetDate)
  Select Case intDay
    Case 7: MsgBox "一週間前です"
    Case 3: MsgBox "三日前です"
    Case 0: MsgBox "当日です"
    Case Else: MsgBox CStr(intDay) & "日前です" '参考までに
  End Select
  
  Unload Me
End Sub

EXEをスタートアップに作ればWin起動時に自動で動いてくれます

編集 削除