Excel - ¿Se puede manipular por Código la contraseña establecida para el Código VBA de una aplicación?

 
Vista:
sin imagen de perfil

¿Se puede manipular por Código la contraseña establecida para el Código VBA de una aplicación?

Publicado por Ramón (77 intervenciones) el 07/03/2024 21:42:20
Con la ayuda recibida en este foro y la prestada por correo privado de un 'aforado' de por aquí : , manipulo mediante código VBA las contraseñas de muchos procedimientos y hojas de un libro xlsm, -MiAplicación- de acuerdo a los valores que para estas he establecido en una hoja específica, VeryHidden.que he llamado "CONTRASEÑAS".

Así, para un procedimiento que solo quiero pueda ser ejecutado por el Administrador de la BD, he establecido que sólo éste pueda cambiar tal contraseña mediante el siguiente procedimiento:

1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Modif_Pass_ADMIN_Click()
    If Me.TextBoxPassAdmin_NUEVA <> "" Then
        Sheets("CONTRASEÑAS").Visible = True
        Sheets("CONTRASEÑAS").Unprotect Password:=Sheets("CONTRASEÑAS").Range("B2").Value
        Me.TextBoxPassAdmin_ACTUAL = Me.TextBoxPassAdmin_NUEVA
        Me.TextBoxPassAdmin_NUEVA = Null
        Sheets("CONTRASEÑAS").Range("B2") = Me.TextBoxPassAdmin_ACTUAL
        Sheets("CONTRASEÑAS").Visible = False
        MsgBox " El cambio en la CONTRASEÑA 'MyPass_ADMIN' se ha efectuado con éxito.", vbInformation, "MIAPLICACION"
    Else
        MsgBox " No ha efectuado cambio alguno.", vbInformation, "GLOBAL CARE"
    End If
End Sub

Siguiendo ese 'patrón' pretendía, con el juego de sendos "TextBoxCódigoVBA_ACTUAL" y "TextBoxCódigoVBA_NUEVA", poder modificar la Contraseña del Código VBA que, como Contraseña_ACTUAL, he establecido en la secuencia: Alt + F11 --> Doble clic en el Proyecto MiAplicacion.xlsm de la ventana de Proyectos del Editor de VBA.

¿Se puede?

P.S.- ... por supuesto sé que el sistema de seguridad de 'MiAplicación' brindado por Excel es manifiestamente mejorable, pero para 'MiAplicación' me bastaría...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

¿Se puede manipular por Código la contraseña establecida para el Código VBA de una aplicación?

Publicado por Antoni Masana (2478 intervenciones) el 08/03/2024 13:50:39
Buenos días Ramón.

Voy a intentar explicar como debería funcionar o estar organizado el libro.
Parto de la primicia que no se que quieres hacer ni como va a funcionar o mejor dicho que como pretendes hacer que funcione.
Tienes varias hojas protegidas con contraseña, una de las hojas tiene las contraseñas de todas las hojas.
Va a tener varios usuarios y solo el administrador puede modificar las contraseñas.
Ahora viene la parte interesante
- ¿Como ha de funcionar?
- ¿Se accede a los datos a través de formularios?
- ¿Directamente a las hojas?
- ¿Cuando se tienen que desproteger las hoja?
- ¿Como se manipula la información?
- etc.

Además de la tabla de contraseñas de las hojas, se tiene que crear una tabla de usuarios con su correspondiente contraseña, puede estar en la misma hoja que la anterior.
Cuando se abre el libro ha de solicitar el usuario y contraseña y a partir de aquí...
- ¿Un formulario con las diferentes opciones?
- ¿Acceso libre a las hojas?

Intento crear un esquema pero se me abre un abanico de posibilidades que no se por donde ir.

Sobre tu pregunta, puedes proteger todas las hojas con contraseña, incluso la misma hoja contraseña y a través de un formulario modificarlas todas. El nivel de ocultación no afecta.
Para que solo lo pueda hacer el administrador se debe identificar previamente al usuario.

Si puedes contarme cual es tu idea puedo ayudarte, incluso darte opciones para mejorarla.
- No se que tipo de información hay en el libro.
- No se como se desea consultar.
- No se como se va a modificar.
- No se cuando se puede modificar.
- No se si es un libro compartido.
- No se si la información es publica, excepto las contraseñas, es decir cualquier usuario puede ver toda la información.
- No se si cualquiera puede abrir el libro o esta restringido a unos usuarios determinados.

Nivel de protección.



Hay 3 niveles, Hoja, Libro, Fichero.
En los dos primero sirven para nivel usuario básico, un usuario experto se los salta fácilmente.
El tercer nivel es clave unica y no se puede abrir el fichero sin la clave, es lo mismo que cuando se crea un fichero ZIP encriptado.
Este tipo de protección es lo más seguro que tiene.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

¿Se puede manipular por Código la contraseña establecida para el Código VBA de una aplicación?

Publicado por Ramón (77 intervenciones) el 09/03/2024 10:24:17
Son muchas preguntas y como no se trata de aburrir al personal te contesto por correo privado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar