这个variables将如何响应
我正在使用Excel VBA,但我认为这是一个相当普遍的问题。
我有以下声明
Public newReport As Excel.Workbook
在后面的代码中,打开并命名一个xlsx文件MyBook.xlsx
我将这个variables指向文件:
Set newReport = Excel.Workbooks("MyBook.xlsx")
我又变得有些困惑了。 variables行为。 如果我以后打开MyBook.xlsx,并执行ActiveWorkbook.SaveCopyAs
并给它一个新名称,说MyBookNew.xlsx将variablesnewReport
指向新的工作簿?
相关代码的例子如下:
Public newReport As Excel.Workbook Sub FileExperiment() Set newReport = Excel.Workbooks.Add newReport.SaveAs ThisWorkbook.Path & "\MyBook.xlsx" Set newReport = Excel.Workbooks("MyBook.xlsx") ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\MyNewBook.xlsx" newReport.Close False End Sub
newReport
将保持不变。
从帮助文件中,关于命令SaveCopyAs
:
将工作簿的副本保存到文件,但不修改内存中打开的工作簿。