Excel 2007 VBA工作簿关闭然后重新打开

时间:2012-04-19 23:29:57

标签: excel vba excel-vba

2003年,工作手册即将结束。但现在相同的代码正在重新打开工作簿。之后有一些线然后是子端。当子结束时,即使没有打开任何工作簿的代码,也会为已关闭的工作簿触发workbook_open事件。调试器几乎没用,如果我一步一步地执行所有操作,它就不会再现错误,事实上当我使用调试器时一切正常。

我用

ActiveWorkbook.Close False

关闭工作簿(来自加载项)。

非常感谢。

2 个答案:

答案 0 :(得分:0)

我为Excel 2007添加了少量代码,因为烦人的功能区和Microsoft摆脱了自定义菜单。为了弥补这一点,我希望功能区中的加载项选项卡始终可见,但是我使用Application.OnTime和sendkeys来执行此操作(因为Microsoft没有打扰包含带有愚蠢功能区的API。 ..)。好吧OnTime似乎是我烦恼的根源。

答案 1 :(得分:0)

弄清楚如何获得两者。 Workbook_beforeclose通过调用:

取消计划的ontime事件
Application.OnTime EarliestTime:=Now(), Procedure:="Name", Schedule:=False

但是否则会执行ontime事件。

如果在调用close之前事件没有被取消,则工作簿将关闭然后重新打开以运行计划的ontime事件(因为工作簿被短暂打开,因此ontime在我需要之前没有机会运行关闭它。)