Cách phát mật khẩu unprotect sheet trong excel
Thông thường, để bảo vệ việc thay đổi dữ liệu dẫn tới sai sót không đáng có, thì phương án khoá mật khẩu cho sheet là lựa chọn tuyệt vời. Tuy nhiên sẽ thế nào nếu một ngày đẹp trời nào đó bạn quên mật khẩu? Hoặc bạn lấy một file excel nào đó trên mạng và cần thay đổi những phần nội dung đã bị khoá? Hoặc một số trường hợp virus tự động khoá sheet bằng một mật khẩu ngẫu nhiên nào đó
- Clt+F11 để mở VBA
- F5 mà nó yêu cầu lựa chọn Macroname thì chọn SheetXXX.unprotectedAll rồi click Run nó sẽ chạy
unprotectedAll()
Dim
i
As
Integer
For
i = 1
To
Application.Sheets.Count
PasswordBreaker Application.Sheets(i)
Next
Sub
PasswordBreaker(MySheet)
Dim
pass
As
String
If
MySheet.ProtectContents =
False
Then
MsgBox
"Sheet '"
amp; MySheet.Name amp;
"' is unprotected!"
, vbInformation
Else
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
pass = Chr(i) amp; Chr(j) amp; Chr(k) amp; _
Chr(l) amp; Chr(m) amp; Chr(i1) amp; Chr(i2) amp; Chr(i3) amp; _
Chr(i4) amp; Chr(i5) amp; Chr(i6) amp; Chr(n)
MySheet.Unprotect pass
Next
:
Next
:
Next
:
Next
:
Next
:
Next
Next
:
Next
:
Next
:
Next
:
Next
:
Next
If
MySheet.ProtectContents =
False
Then
MsgBox
"Sheet '"
amp; MySheet.Name amp;
"' is unprotected!"
, vbInformation
End
If
End
If
Sub