Procedimiento de Visual Basic para obtener el nombre de usuario actual


Resumen


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

Más información


Microsoft Excel no tiene la funcionalidad integrada para tener acceso al nombre de usuario actual del equipo. Sin embargo, puede usar la instrucción Declare en una macro de Visual Basic para aplicaciones para llamar a una función de Microsoft Windows que devolverá el nombre de usuario actual. Microsoft proporciona ejemplos de procedimientos de Visual Basic para aplicaciones con fines ilustrativos únicamente, sin ninguna garantía ya sea expresa o implícita, incluyendo, entre otras, las garantías implícitas de comerciabilidad o idoneidad para un fin determinado. Los procedimientos de Visual Basic de este artículo se proporcionan "tal cual" y Microsoft no garantiza que se puedan usar en todas las situaciones. Mientras que los profesionales de soporte técnico de Microsoft pueden ayudar a explicar la funcionalidad de una macro en particular, no modificarán estos ejemplos para proporcionar una funcionalidad agregada ni le ayudarán a crear macros que se adapten a sus necesidades específicas. Si tiene una experiencia de programación limitada, es posible que desee consultar a uno de los proveedores de soluciones de Microsoft. Los proveedores de soluciones ofrecen una amplia variedad de servicios basados en honorarios, incluida la creación de macros personalizadas. Para obtener más información sobre los proveedores de soluciones de Microsoft, llame a Microsoft Customer Information Services 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. Observe que el nombre de usuario actual aparecerá en un cuadro de mensaje.