Peale mitmetunnist kaklemist valemitest kubiseva Exceli failiga, mis pidevalt lõhkus andmete kopeerimise peale oma valemeid, otsustain asja uurida. Probleem oli nimelt selles, et parooliga kaitstud failidel puudub ligipääs valemitele ning seega ei õnnestu neid parandada, veel vähem viga diagnoosida.
Selgub, et parooli eemaldamiseks pole vaja isegi alla laadida tasuta ega tasulist tarkvara, vaid piisab Exceli faili arendaja menüüs skripti sisestamisest.
Copy-Paste ja Run. Enam lihtsamaks on raske seda teha. Proovitud Office 2010 peal.
Samm-sammult juhend on siin:
- Ava lukustatud Exceli fail.
- Vajuta Alt+F11 või vajuta View Code Developers Tabi alt, mille peale avaneb VBA sisestamise aken.
- Vali vasakult mõni lukus olev tööleht: "sheet"
- Selle peale avaneb valge teksttisisestamise aken, kuhu Sisesta järgnev kood:
Sub PasswordBreaker()
'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
- Nüüd vajuta F5 või run ning ongi parool eemaldatud.
Täiendavalt kuvatakse veel popupina kasutatav parool, kui peaks juhtuma, et kõik lehed ei ole siiski avatud.
Originaalõpetuse leiab Wisconsini ülikooli lehelt: http://uknowit.uwgb.edu/page.php?id=28850.