Excel 为什么可以';我能拿到工作簿吗';s目录?

Excel 为什么可以';我能拿到工作簿吗';s目录?,excel,vba,Excel,Vba,我正在尝试查找工作簿的当前目录,因为位置将定期更改。但是,返回的路径位于临时文件夹中,而不是文件所在的位置。这两种方法我都试过了 folderPath = Replace(ThisWorkbook.FullName, templateBook, "") 或 它们在我第一次运行宏时都可以工作,但是当我关闭工作簿并移动它时,我会遇到同样的问题 注意:我使用的是excel 2007。我使用了以下代码: folderPath = CurDir("M") & "\" & Month &a

我正在尝试查找工作簿的当前目录,因为位置将定期更改。但是,返回的路径位于临时文件夹中,而不是文件所在的位置。这两种方法我都试过了

folderPath = Replace(ThisWorkbook.FullName, templateBook, "")

它们在我第一次运行宏时都可以工作,但是当我关闭工作簿并移动它时,我会遇到同样的问题


注意:我使用的是excel 2007。

我使用了以下代码:

folderPath = CurDir("M") & "\" & Month & " " & Year
MkDir (folderPath)

我认为它不能以其他方式工作,因为共享驱动器(M)上有保护。

此工作簿是从模板文件创建的吗?在您调用此代码时是否已保存?多一点背景知识可能会帮助你得到更好的答案。如果是我,我会假设工作簿实际上是代码所说的,并找出原因。工作簿不是模板。调用时,它已被保存并移动到新文件夹中。代码会一直工作,直到我将其移动到一个新文件夹中。仅供参考:“当前目录”和“工作簿目录”是两个完全不同的东西。根据您的描述,我相信您指的是后者。您能发布一些代码来说明您的问题吗?“'Receive month/year inputs year=YearBox.Value month=monthBox.Value'Get name of templateBook=ActiveWorkbook.name'Create new folder w/month/year name folderPath=Replace(ActiveWorkbook.FullName,templateBook,”)&Month&&Year MkDir(文件夹路径)'
folderPath = CurDir("M") & "\" & Month & " " & Year
MkDir (folderPath)