- 帖子
- 181
- 主題
- 5
- 精華
- 0
- 積分
- 197
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- 2000
- 閱讀權限
- 20
- 性別
- 女
- 註冊時間
- 2014-3-9
- 最後登錄
- 2024-4-29
|
13#
發表於 2015-4-5 14:56
| 只看該作者
本帖最後由 bobomi 於 2015-4-5 15:01 編輯
[ 它是執行到那一行被停止的??如何確認它已被停止了?? ]
應該是要進入 Sub timestock() 之前, Application.OnTime 就自動同時 Stop 了, 執行在內部所以你看不見
執行 Sub Test_01
步驟 (2) 能成功 , 步驟 (3) 卻失敗
就可以知道當 Application.OnTime Time + 1 / 86400, "AAA", , False ' 執行 失敗時(發出 Error Msg 時)
就代表著 Timer For Sub AAA 早已經停止了
因為步驟 (2) 已經成功停止了 Timer For Sub AAA
所以步驟 (3) 你再停止1次就失敗了 , 此時 Application.OnTime 內部早就沒有 Timer For Sub AAA 這條 Link , Application.OnTime 因為找不到 Timer For Sub AAA 而發出 Error Msg
Sub Test_01()
On Error GoTo 0: On Error Resume Next
Application.OnTime Time + 1 / 86400, "AAA", , True '(1)--> 執行 ok
If Err Then MsgBox "err #1"
On Error GoTo 0: On Error Resume Next
Application.OnTime Time + 1 / 86400, "AAA", , False '(2)--> 執行 ok (Timer For Sub AAA 已經停止)
If Err Then MsgBox "err #2"
On Error GoTo 0: On Error Resume Next
Application.OnTime Time + 1 / 86400, "AAA", , False '(3)--> 執行 失敗
If Err Then MsgBox "err #3"
End Sub |
|