Password Protect Excel Macro
Cũng giống như bạn có thể mật khẩu bảo vệ sổ làm việc và trang tính, bạn có thể bảo vệ mật khẩu macro trong Excel khỏi bị xem (và thực thi).
Đặt một nút lệnh trên trang tính của bạn và thêm các dòng mã sau:
-
Đầu tiên, hãy tạo một macro đơn giản mà bạn muốn bảo vệ.
Range("A1").Value = "This is secret code"
-
Tiếp theo, nhấp vào Công cụ, Thuộc tính VBAProject.
-
Trên tab Bảo vệ, chọn “Khóa dự án để xem” và nhập mật khẩu hai lần.
-
Nhấp vào OK.
-
Lưu, đóng và mở lại tệp Excel. Cố gắng xem mã.
Hộp thoại sau sẽ xuất hiện:
Bạn vẫn có thể thực thi mã bằng cách nhấp vào nút lệnh nhưng bạn không thể xem hoặc chỉnh sửa mã nữa (trừ khi bạn biết mật khẩu). Mật khẩu cho tệp Excel có thể tải xuống là “dễ dàng”.
-
Nếu bạn muốn mật khẩu bảo vệ macro khỏi thực thi, hãy thêm các dòng mã sau:
Dim password As Variant password = Application.InputBox("Enter Password", "Password Protected") Select Case password Case Is = False 'do nothing Case Is = "easy" Range("A1").Value = "This is secret code" Case Else MsgBox "Incorrect Password" End Select
Kết quả khi bạn bấm vào nút lệnh trên sheet:
Giải thích: Macro sử dụng phương thức InputBox của đối tượng Application. Nếu người dùng nhấp vào Hủy, phương thức này trả về Sai và không có gì xảy ra (InputBox biến mất). Chỉ khi người dùng biết mật khẩu (lại “dễ dàng”), mã bí mật mới được thực thi. Nếu mật khẩu đã nhập không chính xác, một MsgBox sẽ hiển thị. Lưu ý rằng người dùng không thể xem mật khẩu trong Visual Basic Editor vì dự án được bảo vệ khỏi bị xem.