工作簿名称中何时需要扩展名?

时间:2015-05-26 20:42:08

标签: excel vba excel-vba

我有一个excel文件目录,它们通过主文件中的VBA代码相互交互。

我以前从未遇到过这方面的问题,但在复制完整个目录后对副本进行了一些开发工作(将原始文件保存在不同的位置)我遇到了“下标超出范围”引用工作簿时出现问题。

例如,以前用这行代码运行的一切都很好(实际代码中没有任何内容被更改):

现在抛出错误的代码(从未习惯):

ScheduleLocation = Workbooks("Master Schedule").Path

但是,此行现在会抛出错误。如果我用“Master Schedule.xlsm”替换“Master Schedule”,一切都会再次起作用。我之前遇到过这个问题,但我从来没有能够指出问题的根本原因。

不会引发错误的代码:

ScheduleLocation = Workbooks("Master Schedule.xlsm").Path

因此我的问题是:这是为什么?为什么名称(没有扩展名)有时会不足,有时候不会?

1 个答案:

答案 0 :(得分:0)

你有"显示已知文件类型的文件扩展名"在Windows资源管理器中打开? 尝试使用隐藏和可见扩展名运行代码。

最好在打开时将工作簿分配给变量。

Dim wbInput as Workbook
Set wbInput = Workbooks.open ("C:\Master Schedule.xslx")

现在,您可以在不关心扩展的系统设置的情况下处理变量。