jueves, 5 de enero de 2012

Desbloqueo de proyectos VBA en Excel protegidos con contraseña.

Desbloquear proyectos VBA en Excel protegidos con contraseña.

Antecedentes: antes de continuar con la descripción del procedimiento usado para desbloquear proyectos de vba, quiero mencionar que éste se publica sin intención alguna de perjuicio para cualquier desarrollador. Esta publicación se realiza en pro del conocimiento y su divulgación. La exploración de proyectos es un método para el aprendizaje y dominio del lenguaje y aplicación de macros.

Procedimiento:

1. Las macros que operan en archivos de excel no están nunca a nuestra vista. Son paquetes de instrucciones y operan regularmente por medio de botones u objetos que las ejecutan, con un click por ejemplo:




2. Si deseáramos conocer a detalle las instrucciones contenidas en cierto paquete, en cierta macro (sub task, function), tendríamos que acudir al editor de macros (Visual Basic para Excel; OpenOffice.org BASIC para Calc). Llegamos a él con las teclas Alt + F11,


3. Sin embargo, el código no siempre es accesible. La protección se realiza por diversas razones: proteger trabajos propios, evitar que los usuarios modifiquen las macros, etc., etc. Y es por esto que se usan contraseñas para proteger los proyectos de VBA (espacio donde se almacenan ordenadamente las macros).

4. Y si no tenemos la contraseña correcta no nos permitirá acceder.

5. Antes de continuar, realiza un respaldo de tu archivo. La solución para consultar esta información que en Excel nos aparece oculta, la tenemos con Calc de OpenOffice. Puedes descargarlo en el siguiente vínculo: http://www.openoffice.org/. El procedimiento para consultar la información es como sigue. Abrir el archivo de Excel (donde están las macros que queremos consultar) con Calc de OpenOffice:


6. Elígelo de la lista y da click en aceptar, o abre primero Calc y desde ahí abres el archivo.

7. Notarás que el archivo no se muestra en el formato y apariencia con que se abre en excel. Excel y Calc no son 100% compatibles, pero esto es lo que aprovecharemos. En principio observa que Calc no nos muestra el botón que en excel sí podíamos ver.


8. Abierto el archivo, sigue la ruta que se muestra en la imagen: Herramientas---Macros---Organizar Macros---OpenOffice.org Basic...


9. Se mostrará la siguiente ventana. Ubicar del lado izquierdo el nombre del libro que abrimos y desplegar el menú como se muestra. Por default se generará un módulo con el nombre Standard. Dar click en editar.


10. Calc mostrará el siguiente error. Es normal debido a la incompatibilidad de Visal Basic for Applications y OpenOffice.org Basic.
11. Listo. Podemos consultar el código de las macros. Con una búsqueda-reemplazo en word podemos quitar los comentarios a las instrucciones y obtener macros funcionales para excel. Antes de consultar las macros y extraer el texto, es recomendable hacer una búsqueda de la contraseña dentro del mismo proyecto, buscando macros con el nombre Pge (protege), DesPge (desprotege), Protect, Unprotect. Es posible que encontremos la clave sin tener que hacer el trabajo de edición del texto.




Gracias por sus comentarios.
 

4 comentarios:

  1. Hola, realice todo el proceso pero no me dió opción de editar el módulo del proyecto que deseo desbloquear. Alguna sugerencia?

    ResponderEliminar
    Respuestas
    1. Tal vez sea la versión de OpenOffice que ocupas, y seguramente es más reciente que la mía. Verificaré qué ocurre.

      Eliminar
  2. es engorroso y tedioso lo que indicas, haber si manejas otra alternativa

    ResponderEliminar
  3. Entendi que si es creado en excel, ¿tengo que abrirlo en OpenOffice? y hacer todo ese proceso?

    Gracias

    ResponderEliminar