Macros son similares a las fórmulas y funciones que ya utiliza para controlar el comportamiento de las células de hoja de cálculo . La diferencia es que las macros contienen instrucciones para completar una tarea específica utilizando el código de lenguaje de programación. Excel utiliza una versión del lenguaje de programación Visual Basic llamado Visual Basic para Aplicaciones, un lenguaje simple pero potente que " triunfa " protección de la hoja y el sistema de cifrado simple que proporciona protección por contraseña . Como resultado , usted o cualquier persona con conocimientos básicos de programación puede crear una macro que anular las protecciones y desbloquear la hoja de cálculo .
Ilustración
A modo de ejemplo , los siguientes pocos líneas de código VBA anularán y desbloquear cada hoja de cálculo en un libro de Excel . Además , establecer el campo de la contraseña de " secreto " se desactivará una contraseña hoja :
Sub UnlockWorksheets () wsWorksheet As WorksheetFor Cada wsWorksheet En ActiveWorkbook.WorksheetswsWorksheet.Unprotect Contraseña: = "secreto " SiguienteFin Sub
Opciones
Aunque sabiendo lo fácil que puede ser para los curiosos y los dedos ágiles a los datos de compromiso puede ser desconcertante , esto es sólo una hipótesis . Refuerza y sus políticas generales de seguridad de datos a continuación, utilizar el hecho de que las macros pueden anular una hoja cerrada a su ventaja. Por ejemplo, si , después de encerrar a una hoja de cálculo , te encuentras desbloquear regularmente para realizar una tarea específica , cree una macro que abrirá la hoja de cálculo activa mediante una contraseña establecida , completar la tarea para usted y luego vuelva a colocar automáticamente el bloqueo :
ActiveSheet.Unprotect ("password ") ... instrucciones para completar el taskActiveSheet.Protect ( "password" ),
Consideraciones
considerar tanto bloqueo la hoja de cálculo y el uso de una simple macro para enterrar una hoja de trabajo de la vista hasta el punto de que no se mostrará si un usuario intenta ver hojas de trabajo "ocultos" . Si opta por ocultar una hoja de trabajo de esta manera, sin embargo, usted también tendrá que crear y ejecutar otra macro para que sea visible de nuevo : .
Sub Ocultar () Sheets ( " número de la hoja " ) Visible = xlVeryHiddenEnd Sub
Sub Unhide () para cada x en activeworkbook.sheetsx.visible = truenext xend Sub