我有一个宏,可以循环创建17个工作簿。当它完成在工作簿上的工作时,它将关闭它,并通过以下方式转到下一个:
ActiveWorkbook.Save
ActiveWindow.Close
直到最近,这一直都很好。突然循环nr。 7它说(在仍然正常工作之前的6个循环):
运行时间'-2147417848(80010108)':
objekt'Window'的方法'关闭'失败
我可以删除“ActiveWindow.Close”并手动关闭所有工作簿以使宏工作。但还是......
知道为什么会这样做吗?
答案 0 :(得分:5)
根据评论。
等待期可以解决这个问题。
答案 1 :(得分:4)
我不确定你为什么使用ActiveWindow.Close,也许这与它有关。关闭一本书的正确方法(据我所知)是:
Workbooks(excelFile).Close SaveChanges:=True
有时在引用活动对象时会发生一些古怪的事情,所以最好是明确的。
答案 2 :(得分:0)
我使用窗口的编号...即我知道这将是Window#1,所以我这样称呼它。例如:
Windows(1).Close SaveChanges:=False