VBA - 另存为后工作簿的对象会发生什么变化?

VBA - What happens to the Object of a Workbook after Save As?

我正在研究一个宏,想了解这个以避免任何错误或崩溃。

场景: 我有一个执行所有处理的文件(宏文件)。我的代码打开一个预先存在的 excel(模板)文件,然后将一些内容写入其中,然后将其另存为特定位置。 对于打开预先存在的文件,我使用的是:

Set SOWbk = Workbooks.Open(FileName:=SOFileName, ReadOnly:=True)

为了另存为这个文件,我正在使用这个:

SOWbk.SaveAs FileName:=ThisWorkbook.Path & "\" & TextBox13.Value & "_SO.xlsm", FileFormat:=52

问题: 1. 另存为后,原始文件(模板)是否保持打开状态,我必须关闭它? 2. "SOWbk"对象是否自动获取新保存文件的引用?

我试着在 Google 和 Stack 上搜索这个。我没有找到任何帮助。提前谢谢你的帮助!非常感谢。

问题 1 的答案:旧工作簿在 SaveAs

后是否保持打开状态

没有。你打开存储在位置A的工作簿A,当你使用SaveAs函数时,你将打开的工作簿的"current Version"(与存储在位置A的内容不同)保存到位置B、现在打开的文件可以说是文件B

问题 2 的答案:Workbook Object

会发生什么

Object指的是我所说的Workbook B,解释同上。打开的工作簿并不代表位置 A 中存储的内容。