[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『OnTimeメソッドの使用方法』(カルロ)
Excel2002、WindowsXP
こんにちわ。OnTimeソメッドの使い方について教えて下さい。
指定した時間にマクロを一旦停止し、データ処理後、マクロを再開
する命令ですが、処理が終了した後、OnTimeソメッドの取消し設定を教えて下さい。
次の使用例は、現在から 15 秒後に my_Procedure を実行します。
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
OnTime設定の取消しマクロはどのように記入すればよいのでしょうか?
VBAヘルプにありましたが、設定の取り消しがマクロが動きません。
教えて下さい。
OnTime の取り消しは、開始を指定した時間を指定して取り消します。
Dim startTime startTime = Now + TimeValue("00:00:15") Application.OnTime startTime, "my_Procedure"
のように指定した時間を記録しておき、 Application.OnTime startTime, "my_Procedure",,False のようにして取り消します。 (Mook)
Dim startTime
Sub BBB()
startTime = Now + TimeValue("00:00:05") Application.OnTime startTime, "my_Procedure"
End Sub
Sub my_Procedure()
MsgBox "取消しますか?", 48, "確認"
Application.OnTime startTime, "my_Procedure", , False
End Sub
エラーが出る理由を勘ぐってみれば、「もう既に契約が成立しとんのに契約解除はでけ まへんで!」っちゅうとこでっしゃろか? (弥太郎)
Sub BBB() Dim startTime MsgBox "5秒待ってんか!" startTime = Now + TimeValue("00:00:05") Application.OnTime startTime, "my_Procedure" If vbYes = MsgBox("取り消しますか?", vbYesNo) Then Application.OnTime startTime, "my_Procedure", , False End If End Sub Sub my_Procedure() MsgBox "取り消さなくて正解です" End Sub
で成立しますけど かういう使い方が一般的ですわなぁ。
Sub AAA() Dim startTime If vbYes = MsgBox("5秒待って作業しまっか?", vbYesNo) Then startTime = Now + TimeValue("00:00:05") Application.OnTime startTime, "my_Procedure" End If End Sub
OnTimeソメッドは、指定した時間内に取り消さないとエラーがでるのですね。
大変 参考になりました。
なんとなくわかったような気がします。
お手数をお掛けしました。
今後共 よろしくお願いします。(カルロ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.