Obsah

Zapomenuté heslo v Excelu

Pokud se nám stane, že jsme si zamkli list v Excelu a zapomněli heslo, je zde makro, které se pokusí tento list odemknout.

Otevřeme VBA (Alt+F11) nebo na kartě Vývojář klikneme na ikonu Visual Basic.
(Pokud kartu Vývojář nemáme zobrazenou a chceme ji, jdeme do Menu → Možnosti aplikace Excel → Oblíbené a tam zaškrtneme Zobrazit na pásu kartu Vývojář).

Dvakrát poklikáme na list, který chceme odemknout a vložíme do okna tento kód:

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

Spustíme makro a počkáme, než se nám list odemkne.

Zdroj