2016-02-09 61 views
1

我翻遍了我在这里找到的每个主题,但无法找出下面的错误。使用Workbook_BeforeClose杀死Application.ontime

我正在使用Application.OnTime每分钟运行一个模块。问题是,当我关闭工作表时,Excel在下次运行宏时重新打开工作表。

我试图使用下面的修复,无济于事。

Option Explicit 
Dim dTime As Date 

Public Function AutoRun2() 
dTime = Now + TimeValue("00:01:00") 
Application.OnTime dTime, "AutoClear" 
End Function 

Sub StopAutoRun2() 
Application.OnTime dTime, "AutoRun2", , False 
End Sub 

和我的ThisWorkbook有以下几点:

Private Sub Workbook_BeforeClose(Cancel As Boolean) 
Call StopAutoRun 
Call StopAutoRun2 
End Sub 

我在做什么错在这里?

回答

1

更改"AutoRun2""AutoClear"在您的停止子,因为这是您要停止与False参数安排的实际宏。

+0

谢谢你的答复! 我已经这样做了,文档仍然打开。请注意,我有另一个使用Application.OnTime运行的脚本,但我也以上述方式调用它,并对两者进行了更改。 我有一个StopAutoRun和StopAutoRun2 –

+0

你的代码没有打开任何东西,所以不确定你的意思?在附注中,这行代码如果.Cells(i,4).Value就像“完成”和.Cells(i,5).Value =“1”>那么'没有任何意义 - 不需要使用'像'运营商一样,在1结束后有'>'? –

+0

这也是我感到困惑的地方:P文档在关闭后会一直打开。所以我猜想Application.Ontime没有成功杀死。 >最后是复制粘贴错误。我很抱歉。 我也删除了Like并将其更改为=。结果虽然是一样的,但它与Like :)一起工作 –