La bitácora de rodri

septiembre 5, 2006

Cómo desproteger una hoja en Excel

Filed under: Excel, Trucos Windows XP — xavier Rodriguez @ 1:39 pm

Se puede desproteger la hoja mediante el siguiente codigo que halla un password válido para la hoja (y que no tiene nada que ver con el que inicialmente tenía, ¡pero que es válido!).

Instrucciones: Copiar el codigo  aquí expuesto más abajo y pegarlo en un módulo cualquiera del mismo libro, con ayuda del editor de Visual Basic (ALT+F11 para abrir el editor). Cerrar el editor, seleccionar la hoja a desproteger, y ejecutar la macro breakit (ALT+F8, para seleccionarla). Tras la ejecución, un mensaje dará un password 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 "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

Hoy lo he probado con la version de Excel 2003 y ha funcionado perfectamente.

Crea un blog o un sitio web gratuitos con WordPress.com.