我需要关闭正在运行宏的工作簿,然后在关闭后重新打开它。
这是一个过程末尾的操作,该过程会更改一些设置值并保存更改后的文件副本。 保存更改后的文件之后,我希望关闭当前工作簿(不保存更改),然后重新打开它,以便可以像更改发生之前那样打开它。
如果有比关闭再打开更好的方法,请告诉我。
这个逻辑需要在工作簿中进行,而不是在工作簿外部的任何地方,例如Personal.xlsm或其他不随工作簿一起传输的位置。
我需要关闭正在运行宏的工作簿,然后在关闭后重新打开它。
这是一个过程末尾的操作,该过程会更改一些设置值并保存更改后的文件副本。 保存更改后的文件之后,我希望关闭当前工作簿(不保存更改),然后重新打开它,以便可以像更改发生之前那样打开它。
如果有比关闭再打开更好的方法,请告诉我。
这个逻辑需要在工作簿中进行,而不是在工作簿外部的任何地方,例如Personal.xlsm或其他不随工作簿一起传输的位置。
做类似这样的事情:
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的参考资料。
wb.SaveCopyAs Newfilename
而不是更改当前文件名。 - GoldBishop