Get the username of the currently logged on user.

Option Explicit

Private Const UNKNOWN = _
"(Value Unknown Because System Call Failed)"

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

Public Function GetCurrentUserName() As String

Dim l As Long
Dim sUser As String

sUser = Space$(255)
l = GetUserName(sUser, 255)

&qt;&qt;strip null terminator

If l 0 Then
GetCurrentUserName = Left(sUser, InStr(sUser, Chr(0)) - 1)
Err.Raise Err.LastDllError, , _
"A system call returned an error code of " _
& Err.LastDllError
End If

End Function