- Tạo 1 file excel mới, đặt password cho VBA (VD: đặt pass là 1234) rồi save lại.
- Đổi phần đuôi của file excel vừa tạo (xls, xlsx, xlsm) thành .zip
- Dùng Winzip hoặc WinRar mở file zip rồi trích xuất file vbProject.bin trong folder xl ra ngoài.
- Dùng 1 trình HexEditor (trong VD, mình dùng XVI32) mở file vbProject.bin, tìm ký tự DPB=, sau đó ghi nhớ đoạn DPB="xxxxxxxxxxx...xxx"
- Thực hiện các bước 2.2 - 2.3 đối với file excel có VBA bị đặt password chưa biết.
- Dùng HexEditor mở file vbProject.bin và thay đoạn DPB="xxx" bằng đoạn mã có được ở bước 2.4, sau đó save lại.
- Mở thay file vbProject.bin đã sửa đè lên file cũ trong winzip.
- Đổi đuôi .zip thành đuôi cũ (xls, xlsx, xlsm). OK, bây giờ bạn đã có password "1234" cho VBA của file excel bị khoá.
Bổ sung 2 là còn cách nữa, đơn giản hơn, với file xls, xlsm bị khóa vba only:
Code:
- (bỏ qua nếu đã là file .xls) mở file .xlsm rồi saveAs, chọn đuôi .xls -lưu
- cài Hex Edit ở đây
- mở file .xls bằng ctrinh mới cài
- ctrl-f, gõ DPB để tìm, enter, nhấp đúp thay DPB bằng DPx, save
- mở file .xls = excel bình thường, nó warning error thì Ok/Yes
- propertise cái module rồi đỗi lại pass gì cũng được