【问题标题】:Environ Function code samples for VBAVBA 的环境函数代码示例
【发布时间】:2010-10-30 10:15:24
【问题描述】:

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

【问题讨论】:

  • @the_drow:我要求我每天按 alt+f11。我责怪斯波尔斯基。
  • 先生们,我想做两件事;确定我的 PC 上的用户名是什么(使用 Environ 函数),一旦我理解了这一点,我想写一个语句,如果用户不是我,则关闭我的数据库(换句话说,如果在另一台 PC 上打开)可以你帮我开始?

标签: vba environment-variables


【解决方案1】:

正如 Eric 所提到的,您可以像这样使用带有 ComputerName 参数的 environ:

MsgBox Environ("USERNAME")

一些可能对您有所帮助的附加信息:

  1. 参数区分大小写。
  2. Environ 函数有一个执行速度稍快的字符串版本。要调用它,请使用美元符号。 (例如:Environ$("username"))这将为您带来一点性能提升。
  3. 您可以使用此函数检索所有系统环境变量。 (不仅仅是用户名。)一个常见的用途是获取“ComputerName”值以查看用户从哪台计算机登录。
  4. 我不建议在大多数情况下使用它,但知道您也可以使用 索引 访问变量有时会很有用。如果使用此语法,则返回参数的名称 的值。通过这种方式,您可以枚举所有可用的变量。有效值为 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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      set
      

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

      Environ("username")
      

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

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

      参考文献

      【讨论】:

      • 这正是我想要的,只是对入门有一点帮助,谢谢。
      • 太棒了,很高兴我能帮上忙!
      • 别忘了 Environ 是沙盒模式下被屏蔽的功能之一:office.microsoft.com/en-us/access/HP010447361033.aspx
      • 另外,不要忘记 Environ 是父进程启动时环境变量的缓存副本。很难找到这一点。
      • 先生们,我想做两件事;确定我的 PC 上的用户名是什么(使用 Environ 函数),一旦我理解了这一点,我想写一个语句,如果用户不是我,则关闭我的数据库(换句话说,如果在另一台 PC 上打开)可以你帮我开始? – Marchese Il Chihuahua 4 秒前编辑
      猜你喜欢
      • 2023-04-05
      • 1970-01-01
      • 2021-09-05
      • 2018-02-11
      • 2023-01-28
      • 1970-01-01
      • 2022-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多