我有一个工作簿,它可以进行一些分析,并将结果输出到保存工作簿的同一目录中的文本文件中。我需要在多台计算机上运行此代码,以便更改本地目录。以前我只是用
Application.ActiveWorkbook.Path
但由于启用了自动保存功能(这很有用,所以我想继续使用),这将返回OneDrive中的远程文件路径。
如何获取本地文件路径?
我认为您正在寻找的是一个Environ
函数:https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/environ-function
你可以这样设置你的"路径":
MyPath = Environ("LocalAppData")
哪个会返回:
C:UsersusernameAppDataLocal
或
MyPath = Environ("Public")
哪个会返回:
C:UsersPublic
有更多选项可供选择(AppData
、AllUsersProfile
等)
希望这能有所帮助!
我使用FileSystemObject解决了这个问题。
Dim fso as FileSystemObject, localPath as String
localPath = fso.GetParentFolderName(fso.GetAbsolutePathName(Application.ActiveWorkbook.Name))