Como crear usuarios con una clave para un archivo Excel compartido

Tengo un archivo Excel en una carpeta compartida y necesito que solo ciertos usuarios accedan a el y cuando lo hagan en el excel solo le aparezca un mensaje pidiendo nombre de usuario y contraseña.

1 Respuesta

Respuesta
1

Para poder proteger el libro como dices, lo que puedes hacer es guardar el libro con una contraseña de apertura, la cual será la misma para cada usuario.

Luego puedes poner la siguiente macro en Thisworkbook para que se ejecute cada vez que se abra el libro

Private Sub Workbook_Open()

user = Environ("Username")

Select Case user

Case "mlopez"
Usuario = InputBox("Por favor ingrese su Usuario")
Clave = InputBox("Por favor ingrese su clave")
If Usuario <> "barcelona" Or Clave <> "messi" Then
MsgBox ("Datos de autenticación incorrectos")
ThisWorkbook.Close
End If

Case "vrodriguez"
Usuario = InputBox("Por favor ingrese su Usuario")
Clave = InputBox("Por favor ingrese su clave")
If Usuario <> "madrid" Or Clave <> "ronaldo" Then
MsgBox ("Datos de autenticación incorrectos")
ThisWorkbook.Close
End If

Case Else
ThisWorkbook.Close

End Select
End Sub

La macro captura el nombre de usuario de windows de la variable user, por si quieres que cada usuario tenga unas claves diferentes.

Este ejemplo tiene dos usuarios mlopez y vrodriguez y cada uno tiene unas contraseñas.

Si quieres añadir usuarios solo tienes que copiar el codigo en negrita y adaptarlo a tus necesidades

La grabe tal cual me indicas pero no me funciona solo me pide la clave inicial. Me voy al ThisWorkbook y la macro no me aparece a pesar de haberla guardado.

No entiendo que quiere decir con la "La macro captura el nombre de usuario de windows de la variable user".

Que puede estar pasando.

En el siguiente enlace explica detalladamente donde tienes que poner la macro. Recuerda guardo el libro como .xlsm

http://www.exceleinfo.com/uncategorized/ejecutar-macros-al-iniciar-archivo-de-excel/ 

Esta línea "user = Environ("Username")" guarda el nombre de usuario de inicio de windows del pc donde se está ejecutando la macro en la variable "user"

De este modo, puedes diferenciar que usuario quiere abrir el libro y asignarle diferentes contraseñas

En la macro "Case "mlopez" " determina que instrucciones se deben ejecutar en el caso de que el usuario sea mlopez

Lo mismo para "Case vrodriguez" y así puedes añadir tantos usuarios como quieras

Estimado lamentablemente no funciona.

¿Has cambiado los nombres de usuario? Mlopez y vrodriguez por los tuyos

Para saber cuales son los nombres de usuario utiliza esta macro

Sub user()

MsgBox Environ("Username")

End Sub

El usuario que quiero ingresar en Rinzu001, clave 123456789 podrías enviarme la macro la verdad es que aun no logro correrla de manera satisfactoria.

Saludos.

Si es la misma para todos, entonces:

Private Sub Workbook_Open()

Usuario = InputBox("Por favor ingrese su Usuario")

Clave = InputBox("Por favor ingrese su clave")
If Usuario <> "Rinzu001" Or Clave <> "123456789" Then
MsgBox ("Datos de autenticación incorrectos")
ThisWorkbook.Close
End If

ThisWorkbook.Close

End Sub

Recuerda poner la macro en Thisworkbook como se muestra en este enlace

http://www.exceleinfo.com/uncategorized/ejecutar-macros-al-iniciar-archivo-de-excel/ 

Me arroja el siguiente error.

Saludos,

Tienes que borrar option explicit

Estimado lo borre y me pide la clave pero al ingresarla el excel queda de la siguiente manera:

Si, esto ha sido error mio, debes borrar el segundo thisworkbook. Close

Muchas gracias al fin lo logre. Tengo varias preguntas más puedes revisarlas y ver si me puedes ayudar.

Saludos.

Voy respondiendo cuando tengo tiempo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas