这个变量将如何响应

时间:2012-09-04 07:57:48

标签: excel vba variables excel-vba

我正在使用Excel VBA,但我认为这是一个非常普遍的问题。

我有以下声明

Public newReport As Excel.Workbook

稍后在代码中,在我打开并命名xlsx文件MyBook.xlsx之后,我将此变量指向文件:

Set newReport = Excel.Workbooks("MyBook.xlsx")

我再次感到有些困惑。变量行为。 如果我稍后打开MyBook.xlsx并执行ActiveWorkbook.SaveCopyAs并给它一个新名称说MyBookNew.xlsx将变量newReport指向新工作簿?

相关代码示例如下:

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

1 个答案:

答案 0 :(得分:0)

newReport将保持不变。

从帮助文件中剪切,关于命令SaveCopyAs

将工作簿的副本保存到文件中,但不会修改内存中的打开工作簿。