質問: ontimeのリセット方法 簡単な問題を出すexcelを作っています。 問題を出した時点でタイマー(ontime)を出し、 1分間だけ猶予を持たせ、 回答が出ればリセットをする。 間に合わなければ「残念でした」を出そうとしています。 sub start8() application.ontime now + timevalue("00:01:00"), "timeout8" end sub sub reset8() application.ontime now + timevalue("00:01:00"), "timeout8", , false end sub sub timeout8() "残念でした。" end sub 見よう見まねで上記の通り書きましたが、 分からないのは、これだとresr8の引き金を引いてから、1分後のように思います。 ここはどのように書けばいいのでしょうか。 application.ontime now + timevalue("00:00:00"), "timeout8", , falseのように書いてみましたが、 エラーになります。 制限時間内にリセットボタンを押せば何事もなかった、という風にやりたいのです。 宜しくお願いします。
回答: now + timevalue("00:01:00")の時間を変数に落として いつでも使えるようにしておく必要がありそうですね。 以下の感じでは如何でしょうか。 dim st as date sub start8() st = now + timevalue("00:01:00") application.ontime st, "timeout8" end sub sub reset8() application.ontime st, "timeout8", , false end sub sub timeout8() msgbox "残念でした。" end sub