Jos*_*dan 44

试试这个:

Function UserNameWindows() As String
     UserName = Environ("USERNAME")
End Function
Run Code Online (Sandbox Code Playgroud)

  • 它可能不是每次100%安全,但说实话,我们谈论的是VBA.我为一个,选择简单的方法:) (10认同)
  • 请记住,这可以由用户/应用程序更改... (2认同)
  • @Eric +1在这里.如果你担心的话,你不应该首先使用Access. (2认同)

Mit*_*eat 22

Public Declare Function GetUserName Lib "advapi32.dll" 
    Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Run Code Online (Sandbox Code Playgroud)

....

Dim strLen As Long
Dim strtmp As String * 256
Dim strUserName As String

strLen = 255
GetUserName strtmp, strLen
strUserName = Trim$(TrimNull(strtmp))
Run Code Online (Sandbox Code Playgroud)

原来问过的问题是:如何在Access VBA中获取当前登录的Windows用户?