excel - Protección de hoja: UserInterFaceOnly gone
vba excel-vba (2)
No estoy seguro de cuál es la causa de ese problema, pero puede evitarlo agregando un código de protección al evento
Workbook_Open()
, restableciendo cada protección de hoja para tener
UserInterfaceOnly:=True
en cada
En VBA Excel si protejo las hojas con
UserInterFaceOnly:=True
opción
UserInterFaceOnly:=True
después de cerrar y abrir el archivo nuevamente, el modo
UserInterFaceOnly
no está activo, solo protección con contraseña.
El código:
ActiveSheet.Protect Password:="myPassword", UserInterfaceOnly:=True
¿Por qué?
No puede hacerlo sin volver a aplicar
UserInterfaceOnly:=True
después de volver a abrir el libro.
Tomado de la referencia del método de
protect
Vb de Excel:
Si aplica este método con el argumento UserInterfaceOnly establecido en verdadero y luego guarda el libro de trabajo, toda la hoja de trabajo (no solo la interfaz) estará completamente protegida cuando vuelva a abrir el libro de trabajo. Para volver a habilitar la protección de la interfaz de usuario después de abrir el libro de trabajo, debe volver a aplicar este método con UserInterfaceOnly establecido en true
Ahora, si le preocupa que esto demore demasiado (15 segundos, como usted dice), eche un vistazo a this respuesta de Revisión de Código. He hecho esto en varios libros de trabajo de diversos niveles de complejidad, y el tiempo para volver a aplicar la protección es insignificante en todas las versiones que he probado, incluido 2010.