20

我正在为EnvironVBA 中的函数寻找一些信息或代码示例,以获取当前系统上的用户名。

4

3 回答 3

44

Environ()获取任何环境变量的值。这些可以通过在命令提示符中执行以下命令来找到:

set

如果你想获得用户名,你会这样做:

Environ("username")

如果您想获得完全限定的名称,您可以:

Environ("userdomain") & "\" & Environ("username")

参考

于 2009-06-01T14:55:44.597 回答
22

正如 Eric 所提到的,您可以将 environ 与 ComputerName 参数一起使用,如下所示:

MsgBox Environ("USERNAME")

一些可能有助于您了解的附加信息:

  1. 参数区分大小写。
  2. Environ 函数有一个执行速度稍快的字符串版本。要调用它,请使用美元符号。(例如:Environ$("username"))这将为您带来一点性能提升。
  3. 您可以使用此函数检索所有系统环境变量。(不仅仅是用户名。)一个常见的用途是获取“ComputerName”值以查看用户正在从哪台计算机登录。
  4. 我不建议在大多数情况下使用它,但知道您也可以使用index访问变量有时会很有用。如果使用此语法,则返回参数的名称值。通过这种方式,您可以枚举所有可用的变量。有效值为 1 - 255。
    Sub EnumSEVars()
        Dim strVar As String
        Dim i As Long
        For i = 1 To 255
            strVar = Environ$(i)
            If LenB(strVar) = 0& Then Exit For
            Debug.Print strVar
        Next
    End Sub
于 2009-06-02T04:32:02.443 回答
2

有时当我们使用Environ()函数时,我们可能会得到 Library or property not found 错误。使用VBA.Environ()VBA.Environ$()来避免错误。

于 2018-08-06T06:41:21.210 回答