Khi làm việc với VBA, có thể bạn sẽ gặp tình huống: Lỗi biên dịch VBA 64bit. Đây là lỗi xuất hiện khi ứng dụng của bạn sử dụng mã VBA chuyển từ môi trường làm việc 32bits sang 64bits. Bài này, sohoa24h.online hướng dẫn cách xử lý lỗi “The code in this project must be updated for use on 64-bit systems”.
Lỗi biên dịch VBA trong phiên bản 64bit là gì?
Khi viết mã VBA cho các ứng dụng Excel hoặc Access. Theo lối viết code trước đây, các khai báo sử dụng thư viện DLL là 32bit. Tuy vậy, các điều khiển ActiveX và COM, DLL được viết cho Office 32-bit sẽ không hoạt động trong 64-bit.
Chẳng hạn như đoạn mã khai báo biến dưới đây:
Private Declare Function MessageBoxIndirectW Lib "user32" (lpMsgBoxParams As MsgBoxParams) As Long
Khi mở ứng dụng có sử dụng đoạn mã trên, sẽ gặp phải thông báo lỗi “The code in this project must be updated for use on 64-bit systems…” như dưới đây:

Cách xử lý lỗi “The code in this project must be updated for use on 64-bit systems” như thế nào?
Tại các đoạn code khai báo, chỉ cần thêm vào thuộc tính PtrSafe là loại bỏ được lỗi nêu trên. Cụ thể, ví dụ bạn có đoạn code dưới đây:
Private Declare Function MessageBoxIndirectW Lib "user32" (lpMsgBoxParams As MsgBoxParams) As Long
Chúng ta sửa lại bằng cách thêm PrtSafe như sau:
Private Declare PtrSafe Function MessageBoxIndirectW Lib "user32" (lpMsgBoxParams As MsgBoxParams) As Long
Đến đây bạn lưu lại, và thực thi đoạn mã vừa rồi. Đảm bảo không xảy ra lỗi biên dịch 64bit nữa nhé.
Chúc các bạn thành công.

RELATED Posts