我有一个 excel 文件目录,这些文件通过主文件中的 VBA 代码相互交互。
我以前从来没有遇到过这个问题,但是在复制整个目录以对副本进行一些开发工作(在不同的位置保持原件完好无损)之后,我在引用时遇到了“下标超出范围”的问题工作簿。
例如,之前使用这行代码一切正常(实际代码中没有任何更改):
现在抛出错误的代码(从未使用过):
ScheduleLocation = Workbooks("Master Schedule").Path
Run Code Online (Sandbox Code Playgroud)
但是,此行现在会引发错误。如果我用“Master Schedule.xlsm”替换“Master Schedule”,一切都会恢复正常。我以前遇到过这个问题,但我一直无法找出问题的根本原因。
不会抛出错误的代码:
ScheduleLocation = Workbooks("Master Schedule.xlsm").Path
Run Code Online (Sandbox Code Playgroud)
因此我的问题是:这是为什么?为什么名称(不带扩展名)有时不够用,有时又不合适?
小智 1
您是否在 Windows 资源管理器中打开了“显示已知文件类型的文件扩展名”?尝试运行带有隐藏和可见扩展的代码。
最好在打开时将工作簿分配给变量。
Dim wbInput as Workbook
Set wbInput = Workbooks.open ("C:\Master Schedule.xslx")
Run Code Online (Sandbox Code Playgroud)
现在您可以处理变量而无需关心扩展的系统设置。
| 归档时间: |
|
| 查看次数: |
340 次 |
| 最近记录: |