Trong Excel có một chức năng cho phép các bạn khóa sheet hoặc workbook để ngăn không cho người khác có thể chỉnh sửa dữ liệu hoặc thay đổi cấu trúc của file Excel. Tuy nhiên, chức năng này đôi khi có thể gây phiền toái nếu như ai đó gửi file cho bạn nhưng lại quên đưa password, hoặc có thể chính bạn đã quên password do mình đặt nên không thể nào chỉnh sửa file được. Trong tình huống này, các bạn có thể dùng macro sau đây để "tự cứu lấy mình" một cách nhanh chóng (áp dụng cho Excel từ 2010 trở xuống).
Bước 1: mở file Excel đã bị khóa (bằng chức năng protect sheet).
Bước 2: nhấn Alt + F11 để mở Visual Basic Editor.
Bước 3: nhấn chuột phải vào tên Workbook ở bảng bên trái (Project-VBAProejct), chọn Insert > Module.
Bước 4: copy đoạn mã sau vào cửa sổ vừa hiện ra:
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
Bước 5: nhấn F5 hoặc click vào nút Run để chạy đoạn macro trên, đợi một vài phút thì password để unprotect sẽ xuất hiện. Lưu ý password này không phải là password gốc nhé, tuy nhiên nó vẫn có thể dùng ngon.
Rất đơn giản phải không nào? Chúc các bạn thành công!!!
No comments:
Post a Comment