2012-10-26 205 views
2

我需要關閉工作簿我有一個宏,然後重新打開後關閉。關閉然後打開工作簿

它在某個過程的最後對某些設置值進行各種更改,然後保存更改文件的副本。保存更改後的文件後,我想關閉當前工作簿(不保存更改),然後打開它,以便我可以像修改發生之前那樣打開它。

如果有更好的方式比關閉然後打開,無論如何生病建議。

此邏輯需要發生在工作簿中,而不是工作工作簿以外的任何地方,IE否Personal.xlsm或其他不會隨工作簿一起移動的個人方法位置。

回答

4

做這樣的事情:

dim currentworkbookPath as string 
'Store current workbook path to a string 
currentworkbookPath = workbook.FullName 
'Save the workbook somewhere else 
Workbook.SaveAs 'I'll let you figure out the save as details yourself :P 
'Open the old workbook. 
Workbooks.Open currentworkbookPath 
'Close the saved workbook. 
Workbook.Close 

在哪裏工作簿是你正在使用的實際工作簿中,你可能會想使用ThisWorkbook,但我不喜歡假設。

櫃面你不熟悉這裏是Workbook.FullName

+0

不是肯定的,如果我能在關閉前打開相同的文件....生病嘗試一下,看看會發生什麼的參考。不要懷疑它,但眼見爲實。 – GoldBishop

+2

您可以重新打開它,因爲您已通過將當前文件另存爲其他名稱將其重命名。如果你真的想打開同一個文件兩次,你可以創建一個新的Excel實例並打開它,雖然它必須是隻讀的。 –

+0

在Workbook_Open上沒有更新的一些'Volatile'單元存在問題,最終在我收到提示我打開一個已經打開的文件後。有什麼辦法延遲文件的打開,直到文件關閉? – GoldBishop

相關問題