关闭然后打开工作簿

Gol*_*hop 3 excel vba excel-2010

我需要关闭我有一个宏的工作簿,然后在关闭后重新打开它。

在进程结束时对某些设置值进行各种更改,然后保存更改文件的副本。保存更改后的文件后,我想关闭当前工作簿(不保存更改),然后打开它,这样我就可以像更改发生之前一样打开它。

如果有比关闭然后打开更好的方法,请务必接受建议。

这个逻辑需要发生在工作簿中,而不是工作簿之外的任何地方,IE no Personal.xlsm 或其他不会随工作簿一起移动的个人方法位置。

Dan*_*iel 5

做这样的事情:

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
Run Code Online (Sandbox Code Playgroud)

Workbook 是您正在使用的实际工作簿,您可能想要使用ThisWorkbook,但我不想假设。

如果您不熟悉这里是Workbook.FullName的参考

  • 您可以重新打开它,因为您已经通过将其另存为其他文件来重命名当前文件。如果你真的想两次打开同一个文件,你可以创建一个新的 Excel 实例并在其中打开它......尽管它必须是只读的。 (2认同)