Función para devolver el nombre de usuario con VBA en Microsoft Excel
La siguiente función devolverá el nombre de usuario para el usuario que inició sesión, funciona tanto en Windows NT como en Windows 95/98.
Public Declare Function GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Function ReturnUserName() As String ' returns the NT Domain User Name Dim rString As String * 255, sLen As Long, tString As String tString = "" On Error Resume Next sLen = GetUserName(rString, 255) sLen = InStr(1, rString, Chr(0)) If sLen > 0 Then tString = Left(rString, sLen - 1) Else tString = rString End If On Error GoTo 0 ReturnUserName = UCase(Trim(tString)) End Function
Si no desea devolver el nombre de usuario de la red, pero desea devolver el nombre de usuario que el usuario ha registrado con la aplicación, puede hacer esto:
ActiveUserName = Application.UserName