¿Tiene un proyecto VBA de Excel que está protegido con contraseña? Así es cómo puede desbloquearlo y recuperar la contraseña.

No es inusual olvidar la contraseña de un documento en VBA de Excel ni tampoco tomar posesión del documento de otra persona. Por lo general, suele causar algunos dolores de cabeza. Pero aquí le traigo una solución.

1. ¿Qué es VBA en Excel?

VBA (Visual Basic para Aplicaciones) es el lenguaje de programación de Excel y otros programas de Office. VBA funciona mediante la ejecución de macros, una serie de instrucciones paso a paso escritos en Visual Basic.

Supongo que si has llegado a esta publicación es porque sabes lo que es y seguramente lo utilizas. Bien, a veces sucede que buscamos documentos en internet, por ejemplo, una búsqueda:

project vba filetype:xlsm

y encontramos uno de interés, pero está protegido por contraseña. ¿Que pasa ahora? Bueno, no es demasiado difícil eliminar la protección por completo.  A continuación, veamos cómo hacerlo.

2. Cómo configurar una contraseña VBA de Excel

Si tiene que descifrar una contraseña, es posible que sea consciente de cómo configurar o crear una. Veamos cómo hacerlo con un ejemplo sencillo (además por que lo necesitaremos para más adelante).

  • Vaya a la pestaña Desarrollador en Excel y haga clic en Macros.
Desarrollador Macros Excel

Desarrollador – Macros en Excel

  • En caso de que no ve la ficha Desarrollador, vaya a Archivo > Opciones y luego Personalizar cinta de opciones. Ahora mueva el grupo Desarrollador del panel de la mano izquierda a la derecha. (Y si ya se ubica en la derecha, activar el casillero)
Personalizar Cinta Opciones Desarrollador

Personalizar Cinta Opciones – Desarrollador

  • Una vez que ha seleccionado macros en la pestaña Desarrollador , introduzca un nombre para la macro (es sólo un ejemplo, por lo que los detalles no importan) y haga clic en Crear.
Crear Macros Excel

Crear Macros en Excel

  • Copie y pegue el siguiente código en el Editor de Visual Basic. Esta es una macro simple que entrará en el texto citado en la celda A1. No sirve a ningún propósito real, pero necesitamos algo para proteger con una contraseña.
Range("A1").Value = "Protegido con Protected"

Editor de Visual Basic

Editor de Visual Basic

  • En el Editor de Visual Basic, vaya a Herramientas > Propiedades VBAProject. Y en la pestaña de Protección podrás establecer una contraseña. También tendrá que activar la casilla Bloquear proyecto para visualización.
VBA Project Propiedades del Proyecto

VBA Project

  • Haga clic en Aceptar, asegúrese de guardar el documento como un archivo de Excel con extensión XLSM, y probemos si nuestra contraseña funciona. Cierre el documento y volver a abrirlo, y luego ir a la pestaña Desarrollador y haga clic en Visual Basic.
VBA Project Contraseña

VBA Project Contraseña

Al intentar acceder al VBAProject, verá un mensaje de contraseña. Ahora pasemos a encontrar la manera de quitar o eliminar este tipo de protección.

Uno tendría que pensar dos veces acerca de lo seguro que son las hojas de cálculo en realidad.

3. Cómo Desbloquear Proyectos VBA de Excel

Así es como se puede desproteger un VBA Project de Excel con contraseña:

Esta parte es realmente muy simple una vez que sepas lo que estás haciendo. Primero, vamos a necesitar descargar un editor hexadecimal. Si usted no tiene uno, HxD es una buena opción libre, pero hay un montón de alternativas disponibles.

3.1. Preparando nuestro archivo XLSM

Nuestro proceso difiere ligeramente dependiendo de si estamos rompiendo una contraseña en un antiguo archivo XLS o un archivo XLSM más reciente. Si tiene oportunidad de abrir un XLS, entones guárdelo nuevamente como un XLSM.

  • Buscar en su disco duro el archivo VBA de Excel que desea quitar la contraseña, a continuación, cambie la extensión XLSM por ZIP.
  • Posteriormente, abrir el archivo (con la nueva extensión) con software de compresión de archivos como WinRAR o 7-Zip. Usted debe encontrar una carpeta llamada xl .
Carpeta XL Macros Zip

Carpeta XL

  • Dentro de esta carpeta, usted encontrará un archivo con el nombre vbaProject.bin.
  • Abra el archivo BIN con su editor hexadecimal.

3.2 Deshabilitando  contraseña de un VBA Project

Aquí es donde ser capaz de configurar una contraseña es muy útil. Cree un documento ficticio de Excel, agregue una macro a él y establezca una contraseña como se describe al principio de este artículo. A continuación, vamos a tomar el código hexadecimal que estipula qué es la contraseña, y lo insertaremos en el archivo al que queremos acceder.

Una vez que haya configurado el archivo, guárdelo y realice el mismo proceso que hicimos hace unos instantes para que acabe con otro archivo vbaProject.bin. Asegúrese de recordar la contraseña creada!

  • Ahora debe tener ambos archivos vbaProject.bin abiertos en su Editor Hexadecimal. No los mezclen o vamos a tener grandes problemas.
  • Utilice Ctrl + F en el archivo que creó para encontrar la siguiente cadena:

CMG=

  • Lo anterior es el comienzo del código que estipula la contraseña actual. Necesitamos copiar y pegar tres valores:

CMG=
DPB=
GC=

  • A continuación puede ver cómo lo hice.
HxD Password Macros VBA

HxD Password Macros VBA

  • Transfiera este código a su otro archivo vbaProject.bin y colóquelo en la posición correspondiente, asegurándose de no borrar nada más. Guarde su archivo hexadecimal editado.
  • Sólo queda cambiar nuevamente la extensión del archivo ZIP a XLMS.

Abra el archivo VBA Excel. Vaya a la pestaña Desarrollador y haga clic en Visual Basic e intente acceder al menú Proyecto. Debería ver la solicitud de contraseña, y con suerte, la contraseña correcta debería ser la que establecemos en nuestro documento ficticio.

desbloquear vba project excel

Desbloqueando VBA Project de Excel

¡El proyecto VBA ha sido desprotegido! Ahora usted puede continuar con lo que estaba destinado a hacer.

4. Vídeo Demostración

En este vídeo hemos aplicado los pasos anteriormente mencionados. Así es cómo usted puede desbloquear la protección de un Proyecto VBA de Excel.

5. Notas Finales sobre la seguridad del VBA Macros

Este truco puede ser muy útil cuando uno necesita necesita desesperadamente el acceso a una contraseña protegida  en VBA Macro. Sin embargo, también debe ilustrar una falla de seguridad importante que está presente en Excel.

Si está utilizando este tipo de protección por contraseña para defender su código VBA, sepa que hay una solución.

¿Tiene alguna duda sobre el tema de un Proyecto VBA? o, ¿tiene un consejo de seguridad que desea compartir con otros? Agradezco su comentario.

Cómo desbloquear contraseña de Proyecto VBA de Excel
5 (100%) 8 votes