VBA: Código de ejemplo para recuperar el nombre de usuario actual

Exención de responsabilidades de contenido KB retirado

Este artículo se refiere a productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Resumen

En la sección "Más información" de este artículo se incluye código de ejemplo de Microsoft Visual Basic que llama a la función WNetGetUser (una función de la API de Windows del archivo Mpr.dll) para recuperar el nombre de usuario utilizado para establecer una conexión de red.

Más información

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita, incluyendo pero sin limitarse a, las garantías implícitas de comerciabilidad e/o idoneidad para un fin determinado. En este artículo se da por supuesto que ya conoce el lenguaje de programación que se demuestra y las herramientas empleadas para crear y depurar procedimientos. Los profesionales de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad o crear procedimientos adaptados a sus necesidades específicas. Si tiene poca experiencia en programación, quizá desee ponerse en contacto con un Microsoft Certified Solution o con la línea del servicio de consultoría que ofrece, mediante pago, llamando al Centro de Atención al Cliente de Microsoft en el número 902 197 198. Para obtener más información acerca de los Certified Partners, consulte la siguiente página en World Wide Web:


Para obtener más información acerca de las opciones de soporte técnico de Microsoft, consulte la siguiente página en el World Wide Web:


Procedimiento de ejemplo de Visual Basic

 ' Declarar para llamar a mpr.dll. 
Declare Function WNetGetUser Lib "mpr.dll" _
Alias "WNetGetUserA" (ByVal lpName As String, _
ByVal lpUserName As String, lpnLength As Long) As Long

Const NoError = 0
'La llamada a la Función fue correcta

Sub GetUserName()

' Tamaño de búfer para la cadena de retorno.
Const lpnLength As Integer = 255

' Obtener espacio de búfer de retorno.
Dim fMouseDown As Integer

' Para obtener información del usuario. Dim strItem As String

' Asignar la constante de tamaño de búfer a lpUserName.
lpUserName = Space$(lpnLength + 1)

' Obtener el nombre de inicio de sesión de la persona que utiliza el producto. status = WNetGetUser(lpName, lpUserName, lpnLength)

' Comprobar si se produjo un error.
If status = NoError Then
' Esta línea quita el carácter cero. Las cadenas en C terminan en cero. Las cadenas de Visual Basic no pueden terminar en 0.
' El carácter 0 debe quitarse de las cadenas de C para que éstas se utilicen
' sin problemas en Visual Basic. lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1) Else

' Error. CuadroMsj "No se puede obtener el nombre". End End If

' Mostrar el nombre de la persona que inició la sesión en el equipo. CuadroMsj "La persona que inició la sesión en este equipo es: " & lpUserName

End Sub

Referencias

Para obtener más información acerca de cómo obtener ayuda acerca de Visual Basic para Aplicaciones, consulte el siguiente artículo en Microsoft Knowledge Base:
ARTICLE-ID:
163435 VBA: Programming Resources for Visual Basic for Applications
Propiedades

Id. de artículo: 161394 - Última revisión: 01/13/2004 - Revisión: 1

Comentarios