|
NavegaciónInicio de sesiónEn lÃneaEn este momento hay 0 usuarios y 92 invitados en lÃnea.
|
desproteger hoja con contraseña![]() ¿alguien sabe si es posible acceder a una hoja protegira con contraseña para desprotegerla? me refiero a si es posible acceder sin conocer la contraseña porque la haya olvidado.
Enviado por juandudas el 4 Mayo, 2009 - 22:04. |
cargando...
Buscar en necesitomas.comExcelómetroTemas nuevosLo más vistoHoy: |
macro para desproteger hoja
no recuerdo donde lei que la contraseña con que se protege la hoja tiene un cifrado que no es biunívoco, que la contraseña se cifra para no guardarla como tal en el archivo, con la peculiaridad de que la contraseña cifrada siempre tiene la misma longitud.
Entonces no es posible saber cuál era la contraseña utilizada, pero sí es posible encontrar una combinación de caracteres que Excel interprete como la contraseña correcta. Un lío, pero que demuesrta una vez más que Excel no se caracteriza por ser un sistema seguro.
A lo que iba, puedes encontrar en Google muchas copias de la misma macro, y en ninguna se cita la fuente original, para poder desproteger una hoja de un libro cuando el libro ya está abierto.
Aquí vuelvo a reproducir la macro, aunque me he tomado la libertad de traducir al español el mensaje resultante.
Sub WorksheetPasswordBreaker()
' Author unknown but submitted by brettdj of www.experts-exchange.com
' descargado de http://www.theofficeexperts.com/VBASamples/Excel02.htm
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 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 "Una contraseña válida 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
------
La potencia sin control no sirve de nada.
Power is nothing without control.