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 中存储的内容。
我正在研究一个宏,想了解这个以避免任何错误或崩溃。
场景: 我有一个执行所有处理的文件(宏文件)。我的代码打开一个预先存在的 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 中存储的内容。