gpt4 book ai didi

excel - 如何使用vba获取当前工作目录?

转载 作者:行者123 更新时间:2023-12-01 16:22:41 26 4
gpt4 key购买 nike

我正在使用 MS Excel 2010 并尝试使用以下代码获取当前目录,

    path = ActiveWorkbook.Path

但是 ActiveWorkbook.Path 返回空白。

最佳答案

当打开 Excel 文档时D:\db\tmp\test1.xlsm:

  • CurDir() 返回 C:\Users\[用户名]\Documents

  • ActiveWorkbook.Path 返回 D:\db\tmp

因此 CurDir() 有系统默认值并且可以更改。

ActiveWorkbook.Path 对于同一保存的工作簿不会更改。

例如,当您执行“文件/另存为”命令并在文件/目录选择对话框中选择随机目录时,CurDir() 会发生变化。然后单击“取消”以跳过保存。但是 CurDir() 已经更改为最后选择的目录。

<小时/>

[添加]为不同的应用程序恢复VBA

访问 D:\db\tmp\test1.accdb,如duckboy81评论:

  1. CurDir() => C:\Users\[用户名]\Documents
  2. Application.CurrentProject.Path => D:\db\tmp

Excel D:\db\tmp\test1.xlsm:

  1. CurDir() => C:\Users\[用户名]\Documents
  2. ActiveWorkbook.Path => D:\db\tmp
  3. Application.DefaultFilePath => C:\Users\[用户名]\Documents

展望:

  1. CurDir() => C:\WINDOWS\System32
  2. Application.Session.Stores(1).Filepath => D:\programdata\Outlook\myOutlookDocX.pst

PowerPoint D:\db\tmp\test1.ppt:

  1. CurDir() => C:\Users\[用户名]\Documents
  2. ActivePresentation.Path => D:\db\tmp

Word D:\db\tmp\test1.docx:

  1. CurDir() => C:\Users\[用户名]\Documents
  2. Application.ActiveDocument.Path => D:\db\tmp
  3. Application.ActiveDocument.FullName => D:\db\tmp\test1.docx
  4. Application.StartupPath => C:\users\[用户名]\appdata\roaming\microsoft\word\startup

关于excel - 如何使用vba获取当前工作目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19824164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com