excel vba excel-vba excel-2010 password-protection

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.