desproteger Hoja/Libro

09/07/2005 - 20:35 por Javier | Informe spam
Quisiera saber como puedo desproteger un hoja que no se como se que ha
quedado solo para lectura yn no puedo meter ningún dato.

(Gracias por el interés "monosg" pero tu mensaje está vacío)

Gracias
 

Leer las respuestas

#1 KL
09/07/2005 - 20:55 | Informe spam
Hola Javier,

Si al abrir el archivo, te sale el mensaje que te invita a usar una clave o
usar el libro solo para lectura, me temo que tendras que recurrir a algo
como esto:

http://www.elcomsoft.com/aopr.html

Si, en cambio, en una hoja de un libro, que has abierto sin problemas, al
intentar editar una celda te dice que la celda esta protegida, entonces
podrias probar el siguiente codigo VBA que tienes que depositar en cualquier
modulo VBA de cualquier libro abierto y ejecutarlo con la hoja en cuestion
activada. Para ello:

1) haz clic-derecho sobre el nombre de la hoja en cuestion en una de las
pestañas de la parte de abajo de la ventana de Excel.
2) Elige la opcion Ver Codigo para abrir el editor VBA.
3) Una vez en el Editor VBA, ve al menu Insertar>Modulo
4) En la ventana mas grande a la derecha pega el codigo de abajo
5) Ahora pulsa Alt+F11 para volver a la hoja.
6) Pulsa Alt+F8
7) Busca el macro "PasswordBreaker" y haz doble clic sobre el.

Los temas legales y eticos los dejo a tu cargo :-)

Saludos,
KL

'-Inicio Codigo--
Sub PasswordBreaker()
'Author unknown
'Breaks worksheet password protection.
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 "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
'-Fin Codigo--

Preguntas similares