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.
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
ELIMINAR CONTRASEÑAS DE EXCEL.
ResponderEliminarSeguramente os habréis encontrado con archivos de Excel que están protegidos por contraseña y por lo tanto no hay manera de modificarlos y adaptarlos a vuestras necesidades, porque el autor (generalmente obrando de buena fé para intentar evitar problemas de gestión) a bloqueado el mismo con contraseña.
Existen programas de Windows que os eliminarán esa clave o que os desprotegerán el documento, pero no todos funcionan en su versión freeware, share…… por lo que el mejor método es el siguiente (PROBADO Y FUNCIONANDO EN WINDOWS con el PAQUETE OFFICE)
1.- ABRES EL LIBRO DE EXCEL
2.- UNA VEZ TIENES EL LIBRO EN PANTALLA PULSAS LA TECLA ‘ALT’ Y ‘F11’ PARA ABRIR UNA VENTANA DE VISUAL (Microsoft Visual Basic)
3.- AHORA VAS AL MENÚ SUPERIOR Y ELIGES ‘INSERTAR’, ‘MODULO’ Y AHÍ PEGAS TODO EL CÓDIGO QUE TE PONGO A CONTINUACIÓN:
Sub jd()
Dim a As Integer, b As Integer, c As Integer
Dim d As Integer, e As Integer, f As Integer
Dim a1 As Integer, a2 As Integer, a3 As Integer
Dim a4 As Integer, a5 As Integer, a6 As Integer
On Error Resume Next
For a = 65 To 66: For b = 65 To 66: For c = 65 To 66
For d = 65 To 66: For e = 65 To 66: For a1 = 65 To 66
For a2 = 65 To 66: For a3 = 65 To 66: For a4 = 65 To 66
For a5 = 65 To 66: For a6 = 65 To 66: For f = 32 To 126
Contraseña = Chr(a) & Chr(b) & Chr(c) & Chr(d) & Chr(e) & Chr(a1) _
& Chr(a2) & Chr(a3) & Chr(a4) & Chr(a5) & Chr(a6) & Chr(f)
ActiveSheet.Unprotect Contraseña
If ActiveSheet.ProtectContents = False Then
MsgBox "¡JD TE DA TU CONTRASEÑA!" & vbCr & "La contraseña es:" & vbCr & Contraseña
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
4.- EN ESA VENTANA DE VISUAL, VAS AL MENU ‘ARCHIVO’, ‘ EXPORTAR ARCHIVO’ Y LO GUARDAS POR EJEMPLO EN EL ESCRITORIO, CON EL NOMBRE QUE PONE POR DEFECTO “MODULO 1.BAS”
5.- AHORA QUE YA TIENES ESE MÓDULO, CIERRAS TODAS LA VENTANAS QUE TENGAS ABIERTAS POR EL ESCRITORIO Y VAS A EJECUTAR TU HOJA DE EXCEL QUE ESTÁ PROTEGIDA, Y UNA VEZ LA TIENES ABIERTA PRESIONAS ‘ALT’ +F11 COMO HAS HECHO ANTES Y TE APARECERA LA VENTANITA DE VISUAL NUEVAMENTE Y AHORA EN EL MENU SELECCIONAS ‘ARCHIVO’ ‘IMPORTAR’ E IMPORTAS EL MODULO QUE HABIAS CREADO EN EL PASO ANTERIOR
6.- AHORA CIERRAS ESA VENTANIDA DEL VISUAL Y TE QUEDARA EN PANTALLA LA HOJA DE EXCEL QUE AUN ESTA PROTEGIDA, PERO PULSA ‘ALT’ + ‘F8’ Y SELECCIONA EL ARCHIVO ‘JD’ Y LA OPCIÓN ‘EJECUTAR’…. DÉJALO PENSAR UN RATO Y TE DARA LA CONTRASEÑA DEL ARCHIVO EXCEL.
USARLO CON PRUDENCIA Y SABIENDO LO QUE ESTAIS HACIENDO, PORQUE NORMALMENTE SI PROTEGEN UN ARCHIVO LO HACEN PARA QUE NO LA FASTIDIEMOS ;)
UN SALUDO