2003 年,工作簿即将关闭。但现在相同的代码正在重新打开工作簿。之后有一些行,然后子结束。当 sub 结束时workbook_open
,即使没有打开任何工作簿的代码,也会为关闭的工作簿触发事件。调试器几乎没用,如果我逐步执行所有操作,它不会重现错误,实际上当我使用调试器时一切正常。
我用
ActiveWorkbook.Close False
用于关闭工作簿(从加载项)。
非常感谢帮助。
由于烦人的功能区和微软摆脱了自定义菜单,我为 Excel 2007 添加了少量代码。为了在一定程度上弥补这一点,为了方便起见,我希望功能区中的加载项选项卡始终可见,但我使用 Application.OnTime 和 sendkeys 来做到这一点(因为微软没有费心在愚蠢的功能区中包含 API。 ..)。好吧,OnTime 似乎是我麻烦的根源。
想出了如何获得两者。Workbook_beforeclose 通过调用取消预定的准时事件:
Application.OnTime EarliestTime:=Now(), Procedure:="Name", Schedule:=False
但否则 ontime 事件将被执行。
如果在调用 beforeclose 之前事件没有被取消,则工作簿将关闭然后重新打开以运行计划的 ontime 事件(因为工作簿打开的时间太短以至于 ontime 在我需要关闭之前没有机会运行它)。