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:
Warning: htmlentities() [function.htmlentities]: charset `UTF-7' not supported, assuming iso-8859-1 in /home/davidsua/public_html/wp-content/plugins/wp-postratings/wp-postratings.php on line 501
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. »
273 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)
octubre 1st, 2011 a las 10:37 pm
Una mente digna de admiración, mis respetos !!!
octubre 11th, 2011 a las 9:18 pm
Felicitaciones muy practico… Exitos.
octubre 26th, 2011 a las 1:37 pm
Genial!
octubre 27th, 2011 a las 7:36 pm
Excelente. muy buena tu lógica. Felicitaciones
noviembre 7th, 2011 a las 4:00 pm
Muchas gracias. Funcionó perfecto.
noviembre 15th, 2011 a las 2:28 pm
funciona de maravilla. Muchas gracias
diciembre 1st, 2011 a las 7:30 pm
Muchas gracias, no sabes lo bien que vienen estas cosas!
De nuevo mil gracias
diciembre 3rd, 2011 a las 5:32 pm
Perfecto!!!
Exelente aporte compañero!!!
Saludos.
diciembre 7th, 2011 a las 5:49 pm
gracias amigo por el aporte … me ayudó muchisimo……feliz navidad para todos y prospero año 2012
diciembre 9th, 2011 a las 8:53 pm
Macho! impresionante!!
el puto amo!!
gracias!
diciembre 13th, 2011 a las 7:35 pm
NO PUDEEEEEE Y LO NECESITO URGENTE MMMMMMM AYUDENNNME
diciembre 20th, 2011 a las 7:40 am
Pense que no iba a funcionar pero se necesita saber algo de programacion “sintaxis” jaja Gracias estuvo excelente el Aporte!!!
para aquellos que no pueden ejecutarlo tienen que juntar la sentencia larga que fue separada por el guion bajo _
ejemplo:
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)
tiene que ir de corrido
diciembre 23rd, 2011 a las 10:56 pm
Excelente aporte, muchas gracias por la información de gran utilidad
diciembre 29th, 2011 a las 6:21 pm
Se agradece el aporte
enero 12th, 2012 a las 5:22 pm
Troesma de los Maestros!!!! Genial!!! El tema que con esto se me Callo el curro de vender planillas exel jaja
enero 17th, 2012 a las 11:41 pm
Excelente! Funciona genial con office 2010. Me fue de mucha ayuda! Gracias por compartir el conocimiento, ustedes hacen creer que aun es posible un mundo mejor.
enero 26th, 2012 a las 10:47 am
me ha parecido fantástico y muy útil, pues hoy en día vienen muchas hojas bloqueadas sin necesidad alguna de estarlo, y con esta ayuda me has facilitado mucho el trabajo. Muchas gracias
febrero 1st, 2012 a las 5:28 pm
por lo general caundo busco algo asi termino molesta por todo es un enredo y no logro nada,
pero en esta ocasion WAAAOOOOO MIL GRACIAS SI PUDE Y POR UN MOMENTO PENSE QUE NO
febrero 3rd, 2012 a las 5:59 pm
David Suárez, ¡¡¡sos un MOSTRO!!!, verdaderamente genial y todo en cuarenta líneas.
Te presento mi mas sincero respeto a tu inteligencia.
febrero 15th, 2012 a las 3:19 am
como ya te han dicho por aqui, eres un grande!! gracias, tenia un informe importante y de muchos datos que modificar y no podia por culpa de una contraseña que no pusimos y ahora volvemos a ver la luz al final del tunel.
muchas gracias! me ahorraste muchísimo trabajo
febrero 17th, 2012 a las 8:58 pm
Amigo este procedimiento no me sirve para desactivar o quitar la contraseña de apertura de un archivo en office 2007… saludos espero respuesta.. lsmochis@hotmail.com
marzo 7th, 2012 a las 9:13 pm
No funciona! dice que un password valido es AAAAAAAAAAA
marzo 8th, 2012 a las 10:48 pm
Pruebalo que te va a sorprender.
marzo 20th, 2012 a las 9:37 pm
Gracias men, sos un monstruo y generoso con el conocimiento te hace un gladiador men. Gracias
marzo 23rd, 2012 a las 8:15 am
eres un maestro!! mis respetos..saludos
marzo 26th, 2012 a las 6:54 pm
mis respetos….
abril 2nd, 2012 a las 8:52 pm
Muy simples y precisas tus instrucciones, muy efectivo, felicitaciones!. Gracias
abril 11th, 2012 a las 12:52 am
Exelente sos una macanudo
saludos
abril 11th, 2012 a las 11:40 pm
Perfecto, solucionaste mi problema. Muchas Gracias!!
abril 13th, 2012 a las 5:49 pm
!!Gracias, perfecto, si funciona!!!!!!!
abril 14th, 2012 a las 4:37 pm
Nice, funciono al 100%
abril 16th, 2012 a las 5:55 pm
Quillo, me he quedao pasmao.
Gracias
abril 17th, 2012 a las 5:24 pm
hOLA,
HE PROBADO PERO NO FUNCIONA DICE PASSWORD AAAAAAAAAAA PERO NO LO ABRE, ALGUNA OTRA PISTA?
abril 18th, 2012 a las 11:41 pm
Funciona a la perfección, en mi caso debia desbloquear varias hojas y modifique un poco el codigo para que la desbloqueara todas una tras otra. A continuacion el codigo que utilice…
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
abril 26th, 2012 a las 2:20 am
no lo puedo creeer es excelenteeeeee
abril 26th, 2012 a las 10:47 pm
master!!! AMO!!gracias jalo perfectamente, jajjaja, me da gusto, jajaajaj.
abril 29th, 2012 a las 3:18 am
gracias me salvaste estoy muy agradecido
abril 30th, 2012 a las 1:44 am
WAOOOOOOOOOO!!! excelente… Chamo eres demasiadoooo inteligente de pana gracias me funciono de maravilla
mayo 14th, 2012 a las 5:38 pm
IMPECABLE..! MUCHAS GRACIAS por este excelente aporte y permitir resolver mi problema…
mayo 14th, 2012 a las 10:32 pm
EXCELENTE AMIXS ME GUSTO TU PROGRAMA YO PENSABA K NUCA LO IBA RECUPERA
mayo 16th, 2012 a las 8:19 pm
Genial….!!!
Mis respetos….gracias por tu contribucion !!!
Saludos desde Mexico, D.F.
mayo 17th, 2012 a las 3:39 am
Excelente!!!!!! muchas gracias….
Funciono a la perfeccion!
mayo 25th, 2012 a las 2:50 am
EXCELENTE!!!!!!!!!!!!!!!!!
mayo 25th, 2012 a las 7:53 pm
DE POCA MAUSER, INCREIBLE MEN , MIL MILLONES DE GRACIAS :=)
mayo 26th, 2012 a las 5:17 pm
Muy bueno. Gracias.
mayo 28th, 2012 a las 4:59 am
MAESTRAZO ENSEÑENOS MAS TRUCOS POR FAVOR!
mayo 29th, 2012 a las 6:12 pm
Excelente!!!! muy buen aporte, justamente requeria desbloquear un archivo que tenia y no podia recordar la clave que yo mismo le puse.
Saludos.
mayo 31st, 2012 a las 11:20 pm
Hermano usted es un ASTRO
junio 9th, 2012 a las 9:11 pm
excelente, me he bajado un calculo de impuestos que sin esto no hubiera funcionado, muuuuchchchchchassss gracciassssss te felicito
junio 14th, 2012 a las 2:52 am
oye ni si quiera me permite crear el macros desde ahi me pide contraseña, al aprecer el archivo esta protegido con codigo VBA, por el programa lockxls… y ahora como le hago????…