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

标签 vba excel

我有一个 Excel 文件目录,这些文件通过主文件中的 VBA 代码相互交互。

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

例如,之前这行代码一切运行良好(实际代码中没有任何更改):

现在抛出错误的代码(从未使用过):

ScheduleLocation = Workbooks("Master Schedule").Path

但是,此行现在会引发错误。如果我用“Master Schedule.xlsm”替换“Master Schedule”,一切都会恢复正常。我以前也遇到过这个问题,但我一直无法找出问题的根本原因。

不抛出错误的代码:

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

因此我的问题是:这是为什么?为什么名称(不带扩展名)有时不够,有时又不够?

最佳答案

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

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

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

现在您可以处理变量,而无需关心扩展的系统设置。

关于vba - 工作簿名称何时需要扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30468501/

相关文章:

excel - 将 'findnext' 函数合并到现有的 'find' 代码中?

从 2 个不同的 Excel 工作表从前到后打印的 VBA 代码

excel - 使用 VBA OpenRecordset 从 Access Query 到 Excel 的用户定义函数 (UDF) 失败 - 未定义函数

arrays - 将集合的值复制到 VBA 中的二维数组

c# - 在C#中使用savefiledialog类保存excel文件

excel - VBA - 找到第二次出现的子字符串 "TL"并删除之后的所有内容

c# - 解析器将 .net 字典或列表转换为 VBA 的等效字典或集合

vba - 在 Excel 中插入分页符以分割数据以便打印.pdf

excel - 事件单元格查找行中的最后一列 vba

Excel IF 函数大于 x 但小于 y