我一直在使用以下VBA代码
Public Const COSTER_FOLDER = "C:\Coster"
但是当他们移动文件夹位置时,这将不再起作用。
新的 Coster 文件夹是 Environ("LOCALAPPDATA") & "\Coster"
有没有一种简单的方法可以使用常量来做到这一点,或者有更好的方法吗?
问候彼得
这是另一种选择。删除旧的定义,并使用它。
Public Function COSTER_FOLDER() As String
COSTER_FOLDER = Environ("LOCALAPPDATA") & "\Coster"
End Function
然后就可以同样的方式使用了:
Debug.Print COSTER_FOLDER & "\test.txt"
对我来说以下步骤有效(Excel 2019)
创建/设置环境变量:
Dim objUserEnvVars As Object
Set objUserEnvVars = CreateObject("WScript.Shell").Environment("User")
objUserEnvVars.item("Test") = "Blah"
读取环境变量:
Dim objUserEnvVars As Object
Dim strVar As String
Set objUserEnvVars = CreateObject("WScript.Shell").Environment("User")
strVar = objUserEnvVars.item("Test")
MsgBox strVar
我的参考是:https://eileenslounge.com/viewtopic.php?t=4857
您可以使用
.Environment()
来保存变量:
"System"
:返回系统环境变量。"User"
:返回当前用户的环境变量。"Process"
:返回当前进程的环境变量。"Volatile"
:返回当前用户的易失性环境变量。