获取用户名

Avatar photo

1.通过Application获取

*通过Application对象获取用户名,得到的是用户全名

Public Sub ShowUserName()
    Sheet1.Range("c4") = Application.UserName
    'MsgBox "当前用户名是: " & Application.UserName
End Sub

2.通过环境变量获取

Sub showUserName()
    Dim iuser As String
    iuser = Environ("username")
    Sheet1.Range("c6") = iuser
    'MsgBox "当前用户名是: " & iuser
End Sub

3.通过WScript对象获取

Sub showUserName()
    Dim wsh As Object
    Set wsh = CreateObject("WScript.Network")
    Sheet1.Range("c8") = wsh.UserName
    'MsgBox "当前用户名是: " & wsh.UserName
End Sub

4.通过动态链接库的API获取

Private Declare PtrSafe Function getusername Lib "advapi32.dll" _
    Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Function GetCurrentUserName() As String
    Dim lpBuffer As String * 256
    Dim nSize As Long
    nSize = 256
    
    If getusername(lpBuffer, nSize) <> 0 Then
        GetCurrentUserName = Trim(lpBuffer)
    Else
        GetCurrentUserName = ""
    End If
End Function
 
Sub ShowUserName()
    Sheet1.Range("c2") = GetCurrentUserName()
    'MsgBox "当前用户名是: " & GetCurrentUserName()
End Sub