【发布时间】:2013-03-12 05:37:36
【问题描述】:
我正在尝试查找工作簿的当前目录,因为该位置会定期更改。但是,返回的路径在临时文件夹中,而不是文件所在的位置。这两种方法我都试过了。
folderPath = Replace(ThisWorkbook.FullName, templateBook, "")
或
folderPath = ThisWorkbook.path
在我第一次运行宏时它们都可以工作,但是当我关闭工作簿并移动它时,我遇到了同样的问题。
注意:我使用的是 excel 2007。
【问题讨论】:
-
此工作簿是从模板文件创建的吗?在您调用此代码时是否已保存?更多背景知识可能会帮助您获得更好的答案。如果是我,我会假设工作簿实际上是代码所说的位置,并找出原因。
-
工作簿不是模板。它已被保存并在调用时移动到新文件夹中。代码一直有效,直到我将它移到新文件夹中。
-
仅供参考:“当前目录”和“工作簿目录”是两个完全不同的东西。根据你的描述,我相信你的意思是后者。
-
你能发布一些代码来证明你的问题吗?
-
''接收月/年输入 Year = YearBox.Value Month = monthBox.Value '获取模板名称 templateBook = ActiveWorkbook.Name '创建带有月/年名称的新文件夹 folderPath = Replace(ActiveWorkbook .FullName, templateBook, "") & Month & " " & Year MkDir (folderPath)'