Excel - Apertura en 'MODO LECTURA' de sólo una hoja del libro xlsm.

 
Vista:
sin imagen de perfil

Apertura en 'MODO LECTURA' de sólo una hoja del libro xlsm.

Publicado por Ramón (77 intervenciones) el 26/02/2024 10:36:00
Pretendo que al abrir un archivo .xlsm se establezca que determinada hoja -concretamente la (6)- esté dispuesta en modo sólo lectura.

Idealmente pienso que debería 'decírselo' en el evento Open del objeto ThisWorkbook, pero como desde un UserForm especifico del archivo escribo, modifico o elimino registros en esa hoja, antes de escribir, modificar o eliminar 'registros' en ella debo cambiar el atributo de la hoja a 'modo escritura' en el procedimiento sub que establece, modifica o elimina el registro.

¿Se puede?
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

Apertura en 'MODO LECTURA' de sólo una hoja del libro xlsm.

Publicado por Antoni Masana (2478 intervenciones) el 26/02/2024 11:27:16
El procedimiento es muy sencillo.

Primero tienes que proteger la hoja, solo tienes que realizar unos sencillos pasos manuales. (Ver este enlace)
https://support.microsoft.com/es-es/office/bloquear-o-desbloquear-%C3%A1reas-espec%C3%ADficas-de-una-hoja-de-c%C3%A1lculo-protegida-75481b72-db8a-4267-8c43-042a5f2cd93a

O busca: excel proteger celdas en google.

Una vez tienes la hoja protegida ya queda así para siempre, ahora lo que tienes que hacer en el UserForm es desproteger la hoja, escribir y protegerla desde código VBA.

Saludos.
\\//_
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
sin imagen de perfil

Apertura en 'MODO LECTURA' de sólo una hoja del libro xlsm.

Publicado por Ramón (77 intervenciones) el 26/02/2024 12:50:41
Hola Antoni, la hoja de marras ya la tengo protegida -aunque sin contraseña-, pero el usuario puede desprotegerla del modo tan sencillo como el seguido para protegerla, y yo lo que quisiera es que la hoja SÓLO pueda verse y NO EDITARSE... NUNCA!!!!!

Ya he dicho que el usuario de mi xlsm tiene la opción de modificar e incluso eliminar registros (filas) en la hoja de la que hablo, desde un UserForm específico previsto para ello, pero no quiero que lo haga sobre la hoja en sí.
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
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

Apertura en 'MODO LECTURA' de sólo una hoja del libro xlsm.

Publicado por Antoni Masana (2478 intervenciones) el 26/02/2024 16:08:13
Si proteges la hoja con contraseña el usuario no podrá modificarla porque no podrá desprotegerla sin saber la contraseña.
Ahora bien, Excel no es la panacea de la seguridad.
Un usuario medio no podrá acceder a los datos.
Un usuario avanzado puede buscar la clave en el UserForm, también puede buscar en internet una macro para desproteger la hoja.

¿Que puedes hacer? Protege la hoja y el código VBA con contraseña. No es el 100% seguro pero es algo.

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

Apertura en 'MODO LECTURA' de sólo una hoja del libro xlsm.

Publicado por Ramón (77 intervenciones) el 26/02/2024 19:55:04
De acuerdo en todo lo que dices, Antoni, sin embargo 'mi' problema es que si exijo contraseña en los procedimientos que abren la hoja de la que hablo en mi pregunta, y el usuario no la conoce -como es el objetivo y fin natural de tal exigencia- no podrá VERLA, ver su contenido, cosa que no quiero se impida.

Pero en fin, asumo que lo que pretendo no es posible. En ninguna entrada o vídeo en la red había encontrado alguna pista que seguir en la solución de 'mi' problema... aunque la verdad es que me he resistido a admitirlo... en fin...

[Para que se comprenda en toda su intensidad el tema: estoy hablando de un programa ubicado en un Share Point que es atacado por varios usuarios -aunque no simultáneamente: EXCEL, al contrario que ACCESS no lo permite... añado que extrañamente....- De esta suerte un conjunto de sujetos graban registros -filas- en la hoja que pretendo puedan ver todos ellos, PERO SIN CAPACIDAD PARA MODIFICARLA, ello al margen del procedimiento que les he habilitado para hacerlo en un UserForm específico creado a tal fin].
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
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

Apertura en 'MODO LECTURA' de sólo una hoja del libro xlsm.

Publicado por Antoni Masana (2478 intervenciones) el 26/02/2024 23:02:08
Creo que no nos entendemos.
En Excel hay varias formas de proteger una hoja, una de ellas, la más simple en bloquear las celdas que no se desea que el usuario modifique, por defecto son todas y se protege con una contraseña. Esta hoja es visible para el usuario y no la puede modificar, tampoco la puede desproteger.
El Formulario en la opción de escribir en la hoja la desprotege con la contraseña, escribe y la vuelve a proteger con la contraseña.
Esta parte es posible, el problema viene cuando varias personas han de escribir a la vez, se que tiene una opción de compartir el archivo y funciona pero tiene sus limitaciones.

Busca en google: "excel libro compartido" para más información.

No se que haces en este libro y no te puedo hacer una sugerencia para probar si funciona. A veces una idea descabellada puede ser la solución.

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

Apertura en 'MODO LECTURA' de sólo una hoja del libro xlsm.

Publicado por Ramón (77 intervenciones) el 27/02/2024 19:15:09
Antoni, siguiendo tu idea, he pensado que estableciendo en la celda B7 de la hoja que destino a recoger las contraseñas con que protejo algunos de los procedimientos que he programado en mi xlsm, que he llamado "CONTRASENAS", podría, implementando el código asociado al evento BeforeClose del objeto ThisWorkbok, cerrar el libro estableciendo como contraseña el valor figurado en tal celda -B7- de la referida hoja -CONTRASENAS-.

En tal evento actualmente tengo escrito:

1
2
3
4
5
6
7
8
9
10
'ANTES DE SALIR RESTITUYO PARA EXCEL EN GENERAL Y SESIONES POSTERIORES DE OTROS USUARIOS LAS BARRAS DE FÓRMULAS Y LOS SCROLLS EN LA APLICACIÓN:
    Application.DisplayFormulaBar = True
    Application.ActiveWindow.DisplayHorizontalScrollBar = True
    Application.ActiveWindow.DisplayVerticalScrollBar = True
 
' TRAS EXPERIMENTAR OTRAS OPCIONES FINALMENTE PREFIERO CERRAR LA APLICACIÓN GUARDANDO CAMBIOS QUE, POR EJEMPLO, DESHABILITAR EL CUADRO DE CERRAR [x]:
    ThisWorkbook.Salir = True
    ActiveWorkbook.Save
    Application.CutCopyMode = False
    Application.Quit

¿Me ayudas/ayudáis a implementar el código en la línea que apunto?

Gracias de antemano.
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
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

Apertura en 'MODO LECTURA' de sólo una hoja del libro xlsm.

Publicado por Antoni Masana (2478 intervenciones) el 27/02/2024 22:39:20
Si me envias el libro le doy un vistazo y te comento sobre la marcha.
Hasta ahora solo puedo asesorarte partiendo de supuestos, es decir, supongo que entiendo el problema o lo que estas haciendo.
Viendo el libro y explicar sobre algo físico, en informática es una forma de hablar, nos entenderemos mejor.
Si no lo quieres colgar en esta página y puedes enviarlo a mi correo. ( [email protected] )


Saludos.
\\//_
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