我正在使用Excel 2007,此站点的以下建议无效:
Workbooks.Open Filename:=ThisWorkbook.Path & "\Chapter 7 - 10 MECHANICAL.xls"
我也尝试过以下代码,但没有运气:
Workbooks.Open Filename:=app.Path & "Chapter 7 - 90 ECS 1 LLC.xls"
这些文件与带有宏的工作簿位于同一路径中,所以我对自己做错了不知所措。
我正在运行Microsoft Vista。
提前致谢。
答案 0 :(得分:1)
我知道这是一篇较老的帖子,但我没有看到最后的答案,我遇到了同样的问题。第一行代码是正确的,除了反斜杠需要转义。
只需更改
Workbooks.Open Filename:=ThisWorkbook.Path & "\Chapter 7 - 10 MECHANICAL.xls"
到
Workbooks.Open Filename:=ThisWorkbook.Path & "\\Chapter 7 - 10 MECHANICAL.xls"
你会好起来的。
答案 1 :(得分:0)
要使ThisWorkbook.Path工作,应该打开现有的excel文件 我的意思是 - 对于新工作簿(未保存),路径将为空白。
编辑:是否启用了宏?您提供的代码是否运行? 我在同一个dir&中尝试了2个文件。 ThisWorkBook.Path& “\ myOtherFile.xls”有效。
答案 2 :(得分:0)
试试这个:
Workbooks.Open Filename:= ThisWorkbook.Path& application.pathseparator& “第7章 - 10章MECHANICAL.xls”
这将确保使用正确的斜杠。
比尔
答案 3 :(得分:0)
app.Path
将返回Excel本身的路径(在Program Files中),这不是你想要的。
您可能想要调用CurDir函数,该函数将返回当前目录。
编辑:第二个想法,您可能不需要CurDir函数,因为当您打开文件时当前目录不会更改。如果您尝试在与当前工作簿相同的文件夹中打开文件,则代码应该可以正常工作。
确保ThisWorkbook是您认为的工作簿。另外,你得到了什么错误?
答案 4 :(得分:0)
您的第一行代码是正确的。
Workbooks.Open Filename:=ThisWorkbook.Path & "\Chapter 7 - 10 MECHANICAL.xls"
ThisWorkbook.path 将返回运行代码的工作簿的路径。
如果运行代码的工作簿尚未保存,则会返回一个空字符串。
尝试添加此代码以查看正在发生的事情:
Debug.Print ThisWorkbook.Path & "\Chapter 7 - 10 MECHANICAL.xls"
Debug.Print ThisWorkbook.Saved
可以通过“查看 - 立即窗口”
查看输出