VBA:如何获取使用新自动保存功能的工作簿的本地文件路径(因此在技术上是从 OneDrive 打开的)?

whi*_*ell 5 excel vba

我有一个工作簿,它进行一些分析并将其结果输出到保存工作簿的同一目录中的文本文件。我需要在多台计算机上运行此代码,以便本地目录发生变化。以前我只是用

Application.ActiveWorkbook.Path
Run Code Online (Sandbox Code Playgroud)

但是由于启用了自动保存功能(这很有用,所以我想继续使用)这会返回 OneDrive 中的远程文件路径。

如何获取本地文件路径?

hod*_*hod 1

我认为您正在寻找的是一个Environ函数: https ://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/environ-function

你可以这样设置你的“路径”:

MyPath = Environ("LocalAppData")
Run Code Online (Sandbox Code Playgroud)

这将返回:

C:\Users\username\AppData\Local
Run Code Online (Sandbox Code Playgroud)

或者

MyPath = Environ("Public")
Run Code Online (Sandbox Code Playgroud)

这将返回:

C:\Users\Public
Run Code Online (Sandbox Code Playgroud)

还有更多选项可供选择(AppDataAllUsersProfile等...)

希望这可以帮助!