• 締切済み

VBS日時比較の方法

お世話になっております。 今回は日付の比較について分からなくて投稿させていただきました。 現在やりたいことは、 現在の日時と取得してきた日時を比較して 現在より前か後かで判断をわけたいのですが、うまく行きません。 他にも今より八時間後、二四時間後で比較しますが… 比較が上手くいきません; ご教授願います。

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

#2です。 >if objXL.Cells(i, 10) <= strNow then if FormatDateTime(objXL.Cells(i, 10),0) <= strNow then objXL.Cells(i, 10)がシリアル値であればたぶん・・・?

参考URL:
http://www.kanaya440.com/contents/script/vbs/function/string/format_datetime.html
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

Dim TimeNow TimeNow = Now() WScript.Echo TimeNow If TimeNow > "2009/03/02 12:00" Then WScript.Echo "2009/03/02 12:00 よりも今の方があと" End If If TimeNow < "2009/03/06 12:00" Then WScript.Echo "2009/03/06 12:00 よりも今の方がまえ" End If 例えばこうゆう事?

参考URL:
http://www.whitire.com/vbs/tips0040.html
  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.1

こんにちは >現在より前か後かで判断をわけたいのですが、うまく行きません。 この場合のコードを提示した方がメッセージが付きやすいと思います。

978
質問者

補足

そうですね。 ありがとうございます。 部分部分だけ載せさせていただきます。 Dim strNow '現在日時 Dim strDate_8 '8時間後 Dim strDate_24 '24時間後 '現在日時の取得 strNow = Now '8時間後の取得 strDate_8 = DateAdd("h", 8, strNow) '24時間後の取得 strDate_24 = DateAdd("h", 24, strNow) 'objXL.Cells(i, 10) 'このセルの場所にあらかじめ取得してきたデータを入れておく 'iはループでまわしているので、そこで使用しているものです。 if objXL.Cells(i, 10) <= strNow then msgbox("今より前") else msgbox("今より後") end If のような感じの処理なのですが。 今よりも前の日付のものがelse処理を通ってしまいます。 ちなみに処理的にはもう少し長いですが、だいたい必要な場所だけ書くとこのような形です。 実際はmsgboxを表示するわけではありません。

関連するQ&A