Cita del Día

Desproteger hojas de Excel


A quien no le ha pasado que requiere de una información a trabajar, la consigue en una base de datos de Excel y esta viene protegida para hacer cambios.

En ese casó no faltará el monje shaolin que intentará traspasar los datos uno a uno a una nueva base de datos, pero en algunos casos eso es simplemente imposible.

Es por ello que buscando una solución llegue al desarrollo de un pequeño algoritmo, programilla que se puede incrustar dentro de la página de Excel como un Macro, de manera de ejecutarlo y de esa forma conseguir, no la clave original del texto sino una alternativa valida para poder hacer los cambios.

Este método, sencillo, lo he utilizado y funciona bien, por lo que me atrevo a recomendar estas instrucciones desarrolladas por David Suárez, como un manual a prueba de idiotas.

  1. Abra su hoja de Excel.
  2. Abra el Editor de Visual Basic en los macros. ( Menú de Excel "Herramientas / Macro / Editor de Visual Basic" o bien pulsando (ALT+F11))
  3. Copie el código de programación y péguelo en el editor de visual Basic y luego ciérrelo.
  4. 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.

Espero que les sirva y funcione.

Código de programación

Visual Basic:

  1. Sub breakit()
  2. Dim i As Integer, j As Integer, k As Integer
  3. Dim l As Integer, m As Integer, n As Integer
  4. On Error Resume Next
  5. For i = 65 To 66
  6. For j = 65 To 66
  7. For k = 65 To 66
  8. For l = 65 To 66
  9. For m = 65 To 66
  10. For i1 = 65 To 66
  11. For i2 = 65 To 66
  12. For i3 = 65 To 66
  13. For i4 = 65 To 66
  14. For i5 = 65 To 66
  15. For i6 = 65 To 66
  16. For n = 32 To 126
  17. ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
  18. Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
  19. Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  20. If ActiveSheet.ProtectContents = False Then
  21. MsgBox "Un password valido es " & Chr(i) & Chr(j) & _
  22. Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _
  23. & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  24. Exit Sub
  25. End If
  26. Next
  27. Next
  28. Next
  29. Next
  30. Next
  31. Next
  32. Next
  33. Next
  34. Next
  35. Next
  36. Next
  37. Next
  38. End Sub

4 comentarios:

Isaac dijo...

Excelente aporte, funcionó correctamente!

Muchas gracias!

Isaac dijo...

Excelente aporte, funcionó correctamente!

Muchas gracias!

Isaac dijo...

Excelente aporte, funcionó correctamente!

Muchas gracias!

Lenin dijo...

no hay de que.. :)

Tambien puede leer

Related Posts Plugin for WordPress, Blogger...

Seguidores

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Hosting Coupons