【问题标题】:Why can't I get the workbook's directory?为什么我无法获取工作簿的目录?
【发布时间】: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)'

标签: excel vba


【解决方案1】:

我使用了以下代码:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多