obtener nombre del usuario pc

18/06/2004 - 14:12 por Lao_España | Informe spam
Hol@ a todos.

Se me ha ocurrido una idea para proteger un libro de Excel, pero tengo una
duda y además quisiera ponerlo aquí en común para ver posibles mejoras o
problemas.

La idea es la siguiente:

Primero ocultar todas las hoja menos una en blanco como xlveryhiden.

Segundo poner código en Thisworkbook que compare el nombre de usuario
del equipo con un valor almacenado en una variable y si es correcto ejecutar
un procedimiento para mostrar todas las hojas que están como xlveryhiden. y
si no terminar el procedimiento mostrando sólo la hoja en blanco.

El objeto de esto es que si deshabilitan macros, solo verán una hoja en
blanco y si los habilitan sólo si es el equipo autorizado mostrara las hojas
ocultas.

Ahora para conseguir parte de esto necesito saber como averiguar el
nombre de usuario del equipo, que línea/s de código debo poner.

un saludo a tod@s

Espero comentarios.
 

Leer las respuestas

#1 Fernando Arroyo
18/06/2004 - 14:34 | Informe spam
El nombre del usuario lo puedes obtener con el siguiente código:

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

Sub MostrarUsuario()
Dim strUserName As String
strUserName = String(100, Chr$(0))
GetUserName strUserName, 100
strUserName = Left$(strUserName, InStr(strUserName, Chr$(0)) - 1)
MsgBox strUserName
End Sub


o también con una sola instrucción, pero esto es menos fiable que lo anterior:

MsgBox Environ("USERNAME")

Un saludo.


Fernando Arroyo
MS MVP - Excel


"Lao_España" escribió en el mensaje news:
Hol@ a todos.

Se me ha ocurrido una idea para proteger un libro de Excel, pero tengo una
duda y además quisiera ponerlo aquí en común para ver posibles mejoras o
problemas.

La idea es la siguiente:

Primero ocultar todas las hoja menos una en blanco como xlveryhiden.

Segundo poner código en Thisworkbook que compare el nombre de usuario
del equipo con un valor almacenado en una variable y si es correcto ejecutar
un procedimiento para mostrar todas las hojas que están como xlveryhiden. y
si no terminar el procedimiento mostrando sólo la hoja en blanco.

El objeto de esto es que si deshabilitan macros, solo verán una hoja en
blanco y si los habilitan sólo si es el equipo autorizado mostrara las hojas
ocultas.

Ahora para conseguir parte de esto necesito saber como averiguar el
nombre de usuario del equipo, que línea/s de código debo poner.

un saludo a

Espero comentarios.


Preguntas similares