将 Environ("LOCALAPPDATA") 与公共常量一起使用。 (或替代解决方案)

问题描述 投票:0回答:2

我一直在使用以下VBA代码

Public Const COSTER_FOLDER = "C:\Coster"

但是当他们移动文件夹位置时,这将不再起作用。

新的 Coster 文件夹是 Environ("LOCALAPPDATA") & "\Coster"

有没有一种简单的方法可以使用常量来做到这一点,或者有更好的方法吗?

问候彼得

excel vba constants
2个回答
3
投票

这是另一种选择。删除旧的定义,并使用它。

Public Function COSTER_FOLDER() As String
    COSTER_FOLDER = Environ("LOCALAPPDATA") & "\Coster"
End Function

然后就可以同样的方式使用了:

Debug.Print COSTER_FOLDER & "\test.txt"

0
投票

对我来说以下步骤有效(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"
    :返回当前用户的易失性环境变量。
© www.soinside.com 2019 - 2024. All rights reserved.