Resulta que a muchos nos ha ocurrido que por algún motivo guardamos un libro de Excel con una o más hojas protegidas y olvidamos la contraseña al momento de requerir alguna modificación.
Pues resulta que se puede desproteger la hoja mediante la ejecución del código indicado más adelante, el cual determina un password (contraseña) válido para desproteger la hoja, aunque no corresponde con la contraseña fijada inicialmente, es válido y, por tanto, deja desprotegida la hoja que así se requiere.
Los pasos a seguir son:
1) Copiar el código dispuestos adelante y pegarlo en un módulo cualquiera del mismo libro, con ayuda del editor de Visual Basic (ALT+F11 para abrir el editor).
2) Cerrar el editor de Visual Basic y ubicarse en la hoja a desproteger
3) Ejecutar la macro breakit (ALT+F8 para desplegar la lista de macros, seleccionarla y dar clic en el botón ejecutar).
4) Ejecutada la macro aparecerá un mensaje indicando una contraseña equivalente se da clic en el botón aceptar y la hoja quedará desprotegida.
Lo he probado con la versión de Excel 2007 y me ha funcionado adecuadamente.
El código a copiar en el módulo es:
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 "One usable password is " & 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
No hay comentarios:
Publicar un comentario