0

我正在使用 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。

提前致谢。

4

5 回答 5

1

我知道这是一篇较旧的帖子,但我没有看到给出的最终答案,我遇到了同样的问题。第一行代码是正确的,只是反斜杠需要转义。

简单地改变

Workbooks.Open Filename:=ThisWorkbook.Path & "\Chapter 7 - 10 MECHANICAL.xls"

Workbooks.Open Filename:=ThisWorkbook.Path & "\\Chapter 7 - 10 MECHANICAL.xls"

你会很高兴的。

于 2011-12-02T18:31:48.717 回答
0

尝试这个:

Workbooks.Open Filename:=ThisWorkbook.Path & application.pathseparator & "Chapter 7 - 10 MECHANICAL.xls"

这将确保使用正确的斜线。

账单

于 2009-07-14T23:47:17.843 回答
0

app.Path将返回 Excel 本身的路径(在程序文件中),这不是您想要的。

您可能想要调用 CurDir 函数,该函数将返回当前目录。


编辑:再想一想,您可能不需要 CurDir 函数,因为打开文件时当前目录不会改变。如果您尝试打开与当前工作簿相同的文件夹中的文件,您的代码应该可以工作。

确保 ThisWorkbook 是您认为的工作簿。另外,你得到什么错误?

于 2009-07-14T23:49:41.503 回答
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

可以通过“查看 - 立即窗口”查看输出

于 2009-07-15T12:54:49.790 回答
0

要使 ThisWorkbook.Path 正常工作,应打开现有的 excel 文件。
我的意思是 - 对于新工作簿(未保存),路径将为空白。

编辑:宏是否启用?您提供的代码是否运行?
我尝试在同一目录中使用 2 个文件,并且使用 ThisWorkBook.Path 和“\myOtherFile.xls”的代码有效。

于 2009-07-14T23:43:01.363 回答