Procedimiento de Visual Basic para obtener el nombre de usuario actual


Resumen


Puede hacer una llamada de API de Windows (interfaz de programación de aplicaciones) a una DLL (biblioteca de vínculos dinámicos) de Microsoft Windows para obtener el nombre de usuario actual. El nombre de usuario actual puede obtenerse mediante la función GetUserNameA en ADVAPI32. DLL.

Más información


Microsoft Excel no tiene la funcionalidad integrada para tener acceso a nombre de usuario actual del equipo. Sin embargo, puede utilizar la instrucción Declare en un de Visual Basic para Aplicaciones macro para llamar a una función de Microsoft Windows que devolverá el nombre del usuario actual. Microsoft proporciona ejemplos de Visual Basic para Aplicaciones procedimientos fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita, incluyendo, pero sin limitarse a las garantías implícitas de comerciabilidad y/o idoneidad para un propósito particular. Los procedimientos de Visual Basic en este artículo se proporcionan "tal cual" y Microsoft no garantiza que puede utilizarse en todas las situaciones. Aunque los profesionales de soporte técnico de Microsoft pueden explicarle la funcionalidad de una macro determinada, no modificarán estos ejemplos para ofrecer mayor funcionalidad ni le ayudarán a crear macros para satisfacer sus necesidades específicas. Si tiene poca experiencia en programación, se sugiere consultar uno de los proveedores de soluciones de Microsoft. Los proveedores de soluciones ofrecen una amplia gama de servicios, incluida la creación de macros personalizadas. Para obtener más información acerca de Microsoft Solution Providers, llame al servicio de información de cliente de Microsoft en (800) 426-9400.

EJEMPLO

  1. Escriba el código siguiente en un nuevo módulo:
        ' Makes sure all variables are dimensioned in each subroutine.     Option Explicit     ' Access the GetUserNameA function in advapi32.dll and     ' call the function GetUserName.     Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _     (ByVal lpBuffer As String, nSize As Long) As Long     ' Main routine to Dimension variables, retrieve user name     ' and display answer.     Sub Get_User_Name()     ' Dimension variables     Dim lpBuff As String * 25     Dim ret As Long, UserName As String     ' Get the user name minus any trailing spaces found in the name.     ret = GetUserName(lpBuff, 25)     UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)     ' Display the User Name     MsgBox UserName     End Sub
  2. Ejecute la macro Get_User_Name. Tenga en cuenta que el nombre del usuario actual aparecerá en un cuadro de mensaje.