2011-08-26 277 views
1

我有一個在循環中創建17個工作簿的宏。當它工作的一個工作簿完成它關閉,並進入下一個具有:VBA - 關閉窗口

ActiveWorkbook.Save 
ActiveWindow.Close 

這一直工作得很好,直到最近。突然在循環nr。 7它說(6圈之前仍然工作正常):

運行時 '-2147417848(80010108)':

方法OBJEKT'關閉 '窗口' 失敗

我可以刪除「ActiveWindow.Close」並手動關閉所有工作簿以使宏工作。但仍然...

任何知道它爲什麼這樣做?

+0

您是否嘗試過等待? – Fionnuala

+0

你的意思是「在循環中創建17 *工作簿*」?在iDevlop的 –

+0

- 是的。在Remou - 不,我可以嘗試。謝謝 – David

回答

5

根據評論。

等待期可能會解決此問題。

4

我不知道你爲什麼使用ActiveWindow.Close,也許這跟它有關。收書(據我所知),正確的方法是:

Workbooks(excelFile).Close SaveChanges:=True 

有時候一些古怪的事情指的活動對象時發生,所以最好是明確的。

0

我使用窗口的編號......即我知道這將是窗口#1,所以我這樣引用它。示例:

Windows(1).Close SaveChanges:=False