viernes, 18 de enero de 2013

El libro de macros «Personal.xlsb»

Hemos visto en varios artículos cómo se quita la contraseña de las hojas protegidas, pero si trabajamos frecuentemente con hojas protegidas de otros autores y estamos hartos de realizar esta operación, ¿no sería formidable que tuviéramos un "botoncito" que al pulsarlo nos desprotegiera automáticamente la hoja?

Esto nos lleva al libro Personal.xlsb. Si guardamos una macro en el fichero Personal.xlsb, Excel la cargará cada vez que se abra y la dejará disponible para ser utilizada al momento. Si además ponemos un acceso directo en la Barra de herramientas de acceso rápido, podremos ejecutarla con un simple clic de ratón. Bastará que la macro sea la adecuada para nuestros propósitos. Veamos como se hace.

En primer lugar, necesitamos la macro BuscarContraseña.bas, que se puede descargar desde https://www.dropbox.com/s/eejj61c98i65erm/BuscarContrase%C3%B1a.bas?m y ha sido utilizada en el artículo Cómo quitar la protección de una hoja sin conocer la contraseña. Una vez que la tengamos, iniciamos Excel con un libro en blanco.

En la ficha Programador, pulsamos Grabar macro.



Aparecerá el cuadro de diálogo correspondiente. Ponemos un nombre, por ejemplo, EliminarContraseñaHoja y, en el apartado Guardar macro en, seleccionamos Libro de macros personal.


















Pulsamos Aceptar e inmediatamente observaremos que el icono Grabar macro se ha transformado en Detener grabación.



Hacemos clic en Detener grabación. La macro se ha creado pero no contiene ninguna línea de código. Lo comprobamos pulsando Alt + F11 para entrar en el editor de VBA. Haciendo doble clic en Módulo1 veremos, en el panel de la derecha, que el código asociado a la macro sólo contiene el encabezado y el fin de procedimiento.



Nos aseguramos de que esté seleccionado Módulo1 y accedemos a Archivo + Importar archivo. Buscamos el fichero BuscarContraseña.bas que hemos descargado desde el enlace anterior y hacemos clic en Abrir. Excel insertará el Módulo11.



Seleccionamos todo el procedimiento excluyendo el encabezado Sub BuscarContraseña() y el fin End Suby pulsamos Ctrl + C para copiarlo en el portapapeles.

Hacemos doble clic en Módulo1 y pegamos el procedimiento dentro con Ctrl + V.

Eliminamos Módulo11 haciendo clic con el botón derecho y eligiendo Quitar Módulo11. Cuando Excel nos pregunte si queremos exportar el módulo, hacemos clic en No.

Salimos del editor de VBA pulsando Alt + Q.

Ahora, tenemos que poner un icono permanente en la Barra de herramientas de acceso rápido para que se ejecute la macro con un solo clic. De este modo, cuando abramos un libro que contenga alguna hoja protegida, el icono de desprotección estará listo para ser usado.

Abrimos el menú Archivo + Opciones + Barra de herramientas de acceso rápido. En el apartado Comandos disponibles en, elegimos Macros. Seleccionamos PERSONAL.XLSB!EliminarContraseñaHoja y pulsamos el botón Agregar para pasarlo al panel de la derecha. Todavía no pulsamos Aceptar.



El siguiente paso consistirá en elegir el icono y el mensaje que queremos que aparezca en la barra de herramientas de acceso rápido.

Seleccionamos PERSONAL.XLSB!EliminarContraseñaHoja en el panel de la derecha y pulsamos el botón Modificar. Se abrirá el cuadro de diálogo Modificar botón.



















Elegimos un icono adecuado (por ejemplo, la llave) y en el apartado Nombre para mostrar, escribimos: Quita la protección de la hoja. Terminamos pulsando dos veces Aceptar. Ahora, la barra de herramientas de acceso rápido tiene un nuevo botón con su correspondiente mensaje.



Para concluir, debemos cerrar Excel pulsando Archivo + Salir. Cuando aparezca el cuadro de diálogo preguntándonos si queremos guardar la macro, pulsamos Guardar.

Sólo falta comprobar que funciona correctamente.

Abrimos un libro que tenga alguna hoja protegida con contraseña (aquí hay uno de tres hojas con contraseñas diferentes). Si intentáramos desproteger la hoja, Excel nos pediría la contraseña, pero no necesitamos conocerla. Pulsamos en la llave de la barra de herramientas de acceso rápido y, al poco rato, Excel nos mostrará un mensaje anunciándonos que la hoja ha quedado desprotegida.


No hay comentarios:

Publicar un comentario