Lỗi VBA: Cài đặt thông số ForceVBALoadFromSource trong Registry để VBA biên dịch không bị lỗi

Liên hệ QC

HeSanbi

Nam Nhân✨Hiếu Lễ Nghĩa Trí Tín✨
Tham gia
24/2/13
Bài viết
2,596
Được thích
4,001
Giới tính
Nam
Dưới đây là một bài hướng dẫn giúp khắc phục lỗi khởi động tệp có mã VBA.
Đôi khi bạn mở một dự án đã được lưu trong phiên bản ứng dụng trước đó, bạn sẽ gặp sự cố vì ứng dụng không biên dịch lại được.
Sự cố này có thể không tồn tại ở các phiên bản Office mới, các bạn có thể kiểm tra và đặt lại thông số này nếu cần thiết.

Tất cả những gì bạn cần làm là thêm một mục đăng ký. Ví dụ, đối với Excel:
"Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Excel\Options\"
bạn thêm một khóa là ForceVBALoadFromSource nếu chưa tồn tại, với DWORD giá trị là 1.

Lỗi này được Microsoft đăng trên diễn đàn của họ tại bài viết, tại bài viết này Microsoft cũng đăng nhiều lỗi có thể đối với VBA

Và bài viết microsoft hướng dẫn khắc phục lỗi này, và các bản vá lỗi

Trích dẫn hướng dẫn cụ thể:

Thực hiện theo các bước trong phần này một cách cẩn thận. Có thể xảy ra sự cố nghiêm trọng nếu bạn sửa đổi sổ đăng ký không đúng cách. Trước khi sửa đổi, hãy sao lưu sổ đăng ký để khôi phục trong trường hợp xảy ra sự cố.

  1. Thoát khỏi tất cả các ứng dụng Microsoft Office.
  2. Khởi động Registry Editor:
    • Trong Windows 10, hãy vào Start , nhập regedit vào hộp Search Windows , sau đó chọn regedit.exe trong kết quả tìm kiếm.
    • Trong Windows 7, hãy nhấp vào Bắt đầu , nhập regedit vào hộp văn bản Tìm kiếm chương trình và tệp , rồi nhấp vào regedit.exe trong kết quả tìm kiếm.
    • Trong Windows 8 và Windows 8.1, hãy di chuyển chuột đến góc trên bên phải, nhấp vào Tìm kiếm , nhập regedit vào hộp văn bản tìm kiếm, rồi nhấp vào regedit.exe trong kết quả tìm kiếm.
  3. Xác định vị trí và chọn khoá đăng ký con sau:
    HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options\
  4. Trên menu Edit , trỏ tới New , rồi nhấp vào DWORD Value .
  5. Nhập ForceVBALoadFromSource rồi nhấn Enter.
  6. Trong ngăn Chi tiết , bấm chuột phải vào ForceVBALoadFromSource , rồi bấm Sửa đổi .
  7. Trong hộp Dữ liệu giá trị, nhập 1, sau đó bấm OK .
  8. Thoát khỏi Registry Editor.


Điều kiện tiên quyết

Để áp dụng bản cập nhật này, bạn phải cài đặt Microsoft Excel 2016.

Thông tin khởi động lại

Bạn có thể phải khởi động lại máy tính sau khi cài đặt bản cập nhật này.
 
Rất đơn giản là khi ứng dụng của bạn có mã VBA được biên dịch trong quá trình chỉnh sửa, bỗng dưng làm cho Office đóng đột ngột, sau đó tệp đó không thể mở lên được nữa, mỗi lần mở là Office bị đóng đột ngột. Lỗi này lỗi biên dịch của VBA, cài đặt có chức năng biên dịch lại ứng dụng có mã VBA. Hoặc sau một thời gian sử dụng tệp, bỗng dưng tệp không thể mở được nữa do quá trình đóng gói.

Trong định nghĩa biên dịch mã có nhiều tầng biên dịch. Code3, Code2, Code1, PCode, OCode, Mã máy.
Nếu mã được biên dịch trước thì mã sẽ được đọc nhanh hơn khi so với mã VBA nguyên bản. Do vậy mà khi khởi động ứng dụng cần biên dịch lại để tránh lỗi.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom