Cómo desproteger una hoja Excel con contraseña

jueves, 16 de abril de 2009


Dentro del día a día del hombre contra la máquina, hace poco me surgió la necesidad de realizar unas modificaciones en una hoja Excel. Normalmente sólo modificaba una serie de celdas, casi siempre las mismas. En cambio esta vez quería eliminar ciertos datos de algunos campos de la hoja Excel que no tocaba casi nunca. Al intentar hacer esto la respuesta de la aplicación era la misma “la hoja está protegida”. Pues a la tercera vez de intentarlo ya me convenzo de que es así. Voy a pues a desprotegerla y claro… me pide la contraseña. De los tres millones seiscientos cincuenta y cinco mil contraseñas que normalmente uso entre unas y otras cosas… ninguna valía… ¡¡¡ oh, oh…. problemas…!!!

Pero para eso está San Gugel… así que mirando aquí y allá me acerqué a un truco el cual probé y me dio perfecto resultado. Y como encaja perfectamente con la filosofía de las entradas prácticas de este pequeño e insignificante blog pues os lo explico brevemente a continuación. Así que ahora sabrás como proceder si necesitas anular la contraseña de una hoja de Excel que no recuerdas…

El proceso a seguir tiene como finalidad obtener una contraseña válida para desproteger el documento, NO se consigue la contraseña que teníamos originalmente, sino otra distinta que funciona como si fuera aquella.

La idea es crear un módulo de Visual Basic con un pequeño programita el cual ejecutaremos posteriormente obteniendo así una contraseña válida. La ejecución de esta rutina lleva un tiempo, no es instantáneo, por lo que tened paciencia, tampoco hace falta mucha ¿eh?

Para introducir el código que se acompaña al final, hay que proseguir de esta manera:

- En el menú de Excel hay que ir a Herramientas -> Macro -> Editor de Visual Basic (también se puede pulsar directamente Alt+F11). De esta forma abrimos el editor de VB y tan solo tenemos que pegar el código adjunto y posteriormente cerrar el editor.

- Ahora nos vamos a la hoja que queremos desproteger y lo que tenemos que hacer es ejecutar la macro que hemos creado que si os fijáis en el código su nombre es "breakit". Para ello, de nuevo en el menú de Excel hay que ir a Herramientas -> Macro -> Macros… (también se puede pulsar directamente ALT+F8), nos mostrará las macros disponibles dentro de las cuales seleccionaremos “breakit” y le pulsaremos ejecutar. Al cabo de un tiempo (depende… uno, dos minutos…) se nos mostrará un mensaje con una contraseña válida quedando desde ese momento la hoja desprotegida.

Y ya está… a mi me ha funcionado a la primera sin pega alguna. El código no lo he creado yo pero como os digo sí lo he probado. Es una rutina que podéis ver en muchas páginas web, para nada es nueva.

Espero que os resulte útil.

Código a introducir:

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


Información complementaria Noviembre 2009:

OpenOffice



SaluD

1 comentarios:

Anónimo dijo...

funciona, gracias

Mis Datos

Mi foto
... Lo único que hace que venza el mal es que los hombres de buena fe no hagan nada.

Correo del Blog

Correo del Blog
Escríbenos...

Archivo del blog

Mis Colores

Mis Colores
Atletico de Madrid

Logo de El Candelario

Agradecimientos a:

Cool Text: Logo and Graphics Generator Cool Text: Logo and Graphics Generator