2012-06-22 78 views
0

這裏是我有的代碼,理論上可行。我遇到的問題是,當我輸入或編輯工作表時,工作表保存並關閉了我。如果Excel中沒有任何活動,請關閉工作簿

因此,它工作,只是它不重置計時器,而我在工作簿中工作。

Option Explicit 
Private Sub Workbook_Open() 
    EndTime = Now + TimeValue("00:05:00") 
    RunTime 
End Sub 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
    If EndTime Then 
     Application.OnTime _ 
       EarliestTime:=EndTime, _ 
       Procedure:="CloseWB", _ 
       Schedule:=False 
     EndTime = Empty 
    End If 
    EndTime = Now + TimeValue("00:10:00") 
    RunTime 
End Sub 

現在這是在ThisWorkbook裏面,它應該包含一切。我錯過了什麼嗎?計時器顯然不應該在什麼時候重置。

+0

至於我記得,但它使代碼運行,結束時間是當它停下來的意思。 –

+0

是的,很難調試此代碼而不知道這是什麼。有更多的代碼與此相伴嗎?這很難診斷,因爲RunTime不會像上面寫的那樣編譯。此外,你有選項顯式設置,但你沒有聲明你的EndTime變量。 –

+0

這是整個代碼。這就是我尋求幫助的原因。 –

回答

0

至於我可以看到,唯一的原因調用取消時間表不工作可能是:

  • 的程序名稱是不同的(CloseWB)或自
  • 結束時間發生了變化任務最初定或
  • 運行時間做一些事情,使工作簿關閉...
相關問題