Truco para quitar contraseña a proyectos en VBA de Excel (Actualizado)

Hace mucho tiempo escribí este artículo. Han pasado muchos años desde entonces y no volví a escribir nada. Principalmente porque me dedique a otras cosas (obvio si no), cosas que probablemente poco les importe, así que vamos al grano. ¿Cómo quitarle la contraseña de Visual Basic (VBA) a un archivo de Excel? tanto para la versión anterior “Excel 97-2004 (.xls)” como para la versión actual “Excel habilitado para Macros (.xlsm)”.

Paso 1: Instalar un editor de texto hexadecimal. Si no conoces o no tienes ninguno prueba con “Notepad++”, el cual puedes descargar en el siguiente enlace: https://notepad-plus-plus.org

Paso 2: Realiza un Backup del archivo, no queremos que se dañe si algo sale mal. No digas que no te lo advertí.

Paso 3: Para el caso de los archivos “.xlsm”, debes renombrar el archivo que quieres desbloquear con una extensión “.zip” (Si. Es un archivo comprimido”). Si por el contrario es un “.xls” entonces salta al paso 4.

Paso 3: Dentro del archivo “zip” hay un archivo que se llama “vbaProject.bin” que se encuentra en la carpeta “xl”. Cópialo y pégalo fuera del “.zip”.

Paso 4: Abre el archivo que acabas de sacar con el editor hexadecimal que instalaste. Sí el archivo que vas a desbloquear es un “.xls” el archivo que debes abrir es este y continua a partir de acá. Para asegurarse es mejor abrir el programa y abrirlo directamente desde este. 

Paso 5: En el menú “Buscar”, busca el texto “DPB”, asegúrate que existe inmediatamente atrás de las letras “GC=” y [Host Extender Info]

Paso 6: Al texto “DPB” cámbialo por la siguiente escritura: “DBx”

Paso 7: Selecciona Guardar y cierra el archivo. Si estas desbloqueando un “.xls” debes saltar al paso 10.

Paso 8: Vuelve a poner el archivo “vbaProject.bin” en la carpeta “xl” dentro del archivo ZIP del que habíamos sacado el archivo.

Paso 9: Debes también volver a renombrar el archivo “.zip” a su extensión original “.xlsm”.

Paso 10: Ahora abre el archivo en Excel. Recibirás un mensaje de error, ignóralo y selecciona Si (Yes) o Aceptar. Todavía no podrás acceder al proyecto VBA.

Paso 11: Abre el Editor de Visual Basic (Si no sabes abrirlo no mereces este conocimiento)

Paso 12: Abre las propiedades del proyecto eligiendo el menú “Herramientas” y luego la opción “Propiedades de VBA Project”. Selecciona la pestaña “Protección” Ingresa una contraseña cualquiera y confirmala.

Paso 13: Guarda el archivo, ciérralo y vuélvelo a abrir. Notarás que no te ha salido ningún error. Ahora sí puedes acceder al proyecto VBA, con la contraseña que asignaste, o puedes quitarla si lo deseas en el siguiente paso.

Paso 14: Vuelve a abrir “Propiedades de VBA Project” ubicado en el Menú “Herramientas”. Allí desactivarás la casilla “Bloquear proyecto para la visualización” y borrarás TODOS los caracteres en la que hayas escrito en la contraseña así como en confirmar contraseña. No olvides guardar el archivo.

¡Listo tendrás tu archivo para poder ver el proyecto completo!

De nada. Espero seguir escribiendo más seguido sobre diferentes temas.

66 comentarios en “Truco para quitar contraseña a proyectos en VBA de Excel (Actualizado)

  1. Hola, tengo windows 7 SPK 1 y no contiene el comando “edit”, me dice que no se reconoce este comando. Qué puedo hacer?, te agradeceria que me ayudaras. Gracias.

  2. Hola.

    Yo hice una macro que para compartirla la protegí con contraseña, el hecho es que hoy que deseo volver a hacer una nueva me pide contraseña. Ya no recuerdo cual era y no es importante porque mi vieja macro ya ni la uso pero ahora no puedo crear una nueva :S es frustrante.
    Alguna idea?

  3. Hola
    He intentado desbloquear mi proyecto VBA, pero no consigo ir más allá del paso 8, pues en cuando intento hacer ese paso, siempre me salta el error 40230 y el Excel se queda colgado.
    Estoy utilizando un archivo xls y el Excel 2010 en Windows 7.
    Ayuda por favor!

  4. ya tengo el notepad++
    como lo ejecuto, porque ya corri el cmd y de igual manera me sigue apareciendo q no reconoce el EDIT/70 y tengo win7

  5. Hola disculpa tú tienes alguna idea del por qué en algunos casos no aparece el Texto DPB la extensión de mi archivo es xlsm pero esto no me funciona. Gracias por tu aporte porque si le ha servido a otros. Gracias nuevamente.

  6. ya encontre como hacerlo…….el archivo en xlsm se guarda en version xls, y de ahi se hace todo el proceso y si quedo bien!!!

    gracias!

  7. Hola, el problema que tengo es que no se encuetra la opción DPB, hay alguna solución para esto?
    De antemano gracias

  8. LA VERDAD QUE ERA UN POCO INCREDULO EN ESTAS COSAS. PERO ME DI EL TIEMPO Y DE HACER CUIDADOSAMENTE LO QUE SEÑALAS Y EFECTIVAMENTE ES ASI FELICITACIONES BENDICIONES ¡¡ ATTE RODRIGO

  9. Sirve a medias para archivos Xlsm de excel 2013….pero esta versión tiene mas columnas que las versiones 2007 así que si tienes cuadros mas allá de las aceptadas, pierdes toda la información de ellas….a mi me pasa eso…..necesito el crack advance vba recovery password master 3.1…..si alguien me ayuda….gracias

  10. como hago para proyectos donde no muestra la ventana donde se puede colocar la conrtraseña olvidada, el menseje que aparece en ventana dice proyecto bloqueado

  11. Hola buenas noches, tengo una duda al utilizar este procedimiento me aparecen unos caracteres ilegibles y no puedo hallar el DPB eso se puede solucionar?

  12. No me puedo ir sin agradecer, funciona perfecto. Además si después de desbloquear el Proyecto VBA, desean desbloquear hojas, graben este código en un Módulo:

    Sub Descubrir_contraseña()
    Dim a As Integer, b As Integer, c As Integer
    Dim d As Integer, e As Integer, f As Integer
    Dim a1 As Integer, a2 As Integer, a3 As Integer
    Dim a4 As Integer, a5 As Integer, a6 As Integer
    On Error Resume Next
    For a = 65 To 66: For b = 65 To 66: For c = 65 To 66
    For d = 65 To 66: For e = 65 To 66: For a1 = 65 To 66
    For a2 = 65 To 66: For a3 = 65 To 66: For a4 = 65 To 66
    For a5 = 65 To 66: For a6 = 65 To 66: For f = 32 To 126
    Contraseña = Chr(a) & Chr(b) & Chr(c) & Chr(d) & Chr(e) & Chr(a1) _
    & Chr(a2) & Chr(a3) & Chr(a4) & Chr(a5) & Chr(a6) & Chr(f)
    ActiveSheet.Unprotect Contraseña
    If ActiveSheet.ProtectContents = False Then
    MsgBox “¡Viva Colombia!” & vbCr & “La hoja ha sido desbloqueada”
    Exit Sub
    End If
    Next: Next: Next: Next: Next: Next
    Next: Next: Next: Next: Next: Next
    End Sub

  13. aun funciona esto, editar el archivo xla con un editor de texto (ej: notepad++ o similar) buscar y cambiar DPB por DBx, gracias

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s