|
▼きよ さん:
>質問で書かせて頂きましたコードでは、見かけ上「??:??:??」でも、内部処理は、「当日ではなくて1900年xx月xx日の、??:??:??」になっているようで、コンボボックスから指定した時刻になっても何も起きなかったのが原因のようです。
γさんも指摘されているとおり、これが原因ではないと思いますよ。
確かに、TimeSerial で作成した日付型データは年月日が 0 になります。
(Double型変数に入れるか、あるいは CDbl関数で変換すると、整数部分は 0 )
でも、Ontime は、この形の場合、日付部分は無視して時刻を見ています。
先ほど、私のPCの時刻で13:30:00 に以下のTestを実行。
ちゃんと 13:31:40 に TestSub が実行されましたよ。
Sub Test()
Dim hh As Long
Dim mm As Long
Dim ss As Long
Dim starttime As Date
hh = 13
mm = 31
ss = 40
starttime = TimeSerial(hh, mm, ss)
Application.OnTime starttime, "TestSUb"
End Sub
Sub TestSub()
MsgBox Now()
End Sub
|
|