在Excel 2016中(不记得它在早期版本中发生过),我开始遇到Workbooks.Open命令无法返回正确的Workbook对象的问题。例如:
Dim wbkHelper as Workbook
Set wbkHelper = Workbooks.Open(filePath, ReadOnly:=true)
Run Code Online (Sandbox Code Playgroud)
“打开”命令可以正常运行-像预期的那样打开“ filePath”文件-但是wbkHelper最终指向完全错误的文件,通常是ThisWorkbook对象。在此之后,永远不会将wbkHelper对象重新分配给代码,因此它不是代码正在执行的操作。这仅在某些情况下发生,并且可能难以重现,但在发生时会破坏整个宏。
我可以想到多种解决方法,但这不是必须的吗?这是一直使用的核心VBA功能,您希望它可以正常工作。