Desproteger hoja de Excel con contraseña.
Trucos XP, Visual Basic 14 agosto 2008
¿Alguna vez has querido anular la contraseña de una hoja de Excel y no la recordabas?.
Bueno, este truco es muy antiguo pero no por ello menos efectivo. El resultado de aplicar este truco es la obtención de una contraseña valida para desproteger la hoja de excel. Al decir que es una contraseña valida quiero decir que no es la original pero nos permite desbloquearla igualmente.
El truco consiste en una rutina de programación que al ejecutarla (y esperar un rato mientras consigue la contraseña) nos muestra un mensaje con una contraseña válida.
Para ello, el código que pondré a continuación hay que ponerlo en un módulo de visual basic de la aplicación Excel. Lo puedes encontrar en el menú de Excel “Herramientas / Macro / Editor de Visual Basic” o bien pulsando (ALT+F11) para abrir el editor, pegamos el código, cerramos el editor.
Ahora seleccionamos la hoja que queremos desproteger y ejecutamos la macro “breakit” (ALT+F8 para seleccionarla). Tras la ejecución, un mensaje dará una contraseña equivalente, y la hoja ya estará desprotegida.
[vb]
Sub breakit()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
On Error Resume Next
For i = 65 To 66
For j = 65 To 66
For k = 65 To 66
For l = 65 To 66
For m = 65 To 66
For i1 = 65 To 66
For i2 = 65 To 66
For i3 = 65 To 66
For i4 = 65 To 66
For i5 = 65 To 66
For i6 = 65 To 66
For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox “Un password valido es ” & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _
& Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
End Sub
[/vb]
Vota este artículo:
Posts anterior y posterior:
- Previo: « Ejecutar un programa con Shell y esperar a que termine en Visual Basic
- Siguiente: Funciones para comprobar caracteres en cadenas. Visual Basic. »
272 Respuestas a “Desproteger hoja de Excel con contraseña.”
Páginas: « 1 2 3 4 5 [6] Mostrar todos
Páginas: « 1 2 3 4 5 [6] Mostrar todos

(41 votes, average: 4,85 out of 5)
junio 15th, 2012 a las 5:43 pm
Excelente… gracias
junio 21st, 2012 a las 2:25 pm
‘Este Módulo también sirve’.
Function DecBin(num) As String
If num Then DecBin = DecBin(num \ 2) & num Mod 2
End Function
Sub password()
On Error Resume Next
For i = 0 To 2047
c = Format(DecBin(i), String(11, 48))
For j = 32 To 126
Unprotect c & Chr(j)
If Not ProtectContents Then MsgBox “El password es » ” & c & Chr(j): End
Next j, i
End Sub
‘Copiar y Pegar’.
Saludos.
junio 26th, 2012 a las 5:20 am
EXCELENTE, FUNCIONA MUY BIEN !
junio 27th, 2012 a las 11:01 pm
Excelente….
agosto 2nd, 2012 a las 9:42 am
Perfecto, muchas gracias.
agosto 14th, 2012 a las 6:00 pm
Hola en este caso del ejemplo presentado aqui nos da una contraseña de 12 caracteres donde del caracter 1 al 11 son combinaciones de A y B. Pero el 12vo caracter cambia. No importa si la contraseña es larga o corta… Alguien me puede ayudar a desifrar?? Que clase de codigo esta usando? o como aplica esto?
agosto 27th, 2012 a las 6:20 pm
Si, lo logré… Gracias por la ayuda.
agosto 31st, 2012 a las 6:16 pm
Amigos aca les dejo la macros que les servira para desbloquear el LIBRO espero les sirva y traten de aportar en lo que sea la idea es expandir el conocimiento Saludos
Sub breakit()
Dim WS_Count As Integer
Dim WS_I As Integer
Dim clave As String
‘ Set WS_Count equal to the number of worksheets in the active
‘ workbook.
WS_Count = ActiveWorkbook.Worksheets.Count
‘ Begin the loop.
For WS_I = 1 To WS_Count
If ActiveWorkbook.Worksheets(WS_I).ProtectContents = True Then
If clave = “” Then
nuevaClave:
Dim I As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
On Error Resume Next
For I = 65 To 66
For j = 65 To 66
For k = 65 To 66
For l = 65 To 66
For m = 65 To 66
For i1 = 65 To 66
For i2 = 65 To 66
For i3 = 65 To 66
For i4 = 65 To 66
For i5 = 65 To 66
For i6 = 65 To 66
For n = 32 To 126
ActiveWorkbook.Worksheets(WS_I).Unprotect Chr(I) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveWorkbook.Worksheets(WS_I).ProtectContents = False Then
MsgBox “Un password valido es ” & Chr(I) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _
& Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
clave = Chr(I) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
GoTo listo
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
listo:
End If
ActiveWorkbook.Worksheets(WS_I).Unprotect clave
If ActiveWorkbook.Worksheets(WS_I).ProtectContents = False Then
MsgBox ActiveWorkbook.Worksheets(WS_I).Name & ” ha sido desbloqueada =P”
Else
GoTo nuevaClave
End If
End If
Next WS_I
End Sub
septiembre 5th, 2012 a las 10:35 pm
Q trucazo!
Gracias
septiembre 24th, 2012 a las 4:25 am
MUCHAS GRACIAS,
aunque no sé porqué los primeros no me funcionaron el último sí
Gracias
octubre 4th, 2012 a las 10:20 pm
No he podido desbloquear el Libro solo desbloquea la hoja de trabajo
octubre 24th, 2012 a las 2:49 am
Hola Tocayo de apellido, eres un campeón, eres todo un Suárez. Magnífica Macro.
noviembre 13th, 2012 a las 10:05 pm
[...] la ejecución, un mensaje dará una contraseña equivalente, y la hoja ya estará desprotegida. CLIC PARA VER TEXTO PLANO Visual [...]
diciembre 4th, 2012 a las 5:21 pm
Muchas gracias por el aporte, me ayudo a desbloquear un examen jejeje .. gracias y saludos !!!
diciembre 5th, 2012 a las 5:52 am
Maestro…
gracias
se poco de computadoras pero hoy me siento como un verdadero hacker
diciembre 19th, 2012 a las 10:23 pm
MUchísisismas gracias, el truco de Alexis es efectivo!.
enero 24th, 2013 a las 6:22 pm
Muchas gracias, me salvó la vida!!
febrero 12th, 2013 a las 11:41 am
PERFECTO.
TODAVIA ESTOY ALUCINANDO.
Nunca escribo comentarios, pero ESTO MERECE LA PENA.
Gracias
febrero 18th, 2013 a las 7:32 am
Excelente rutina, funciona al 100%.
marzo 7th, 2013 a las 7:40 pm
GRACIAS POR LOS CODIGOS QUE USTEDES HAN CREADO YA QUE ES MUCHA IMPORTANCIA PARA NOSOTROS COMO ESTUDIANTES.
abril 10th, 2013 a las 1:28 pm
Muchas gracias, pero ¿qué ocurre si el excel no me deja introducir la macro ya que para ello se necesita contraseña? Es decir, para acceder a Visual Basic me pide contraseña.
mayo 24th, 2013 a las 1:43 am
Alguien sabe por que me sale este error?? Error de compilación: No se puede encontrar el proyecto o la bilbioteca