HeSanbi
Nam Nhân✨Hiếu Lễ Nghĩa Trí Tín✨
- Tham gia
- 24/2/13
- Bài viết
- 2,774
- Được thích
- 4,403
- 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.
Khi đang lặp trình bỗng dưng thực hiện save hoặc đang viết mã, quá trình biên dịch có thông báo như sau:

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
support.microsoft.com
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ố.
Đ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.
Lưu ý: hướng dẫn trên đây chỉ dành cho lập trình viên hoặc những ai thường sửa mã VBA với dự án có lượng lớn mã VBA.
Vì mỗi lần mở tệp sẽ biên dịch lại mã VBA từ đầu, sẽ gây tốn kém tài nguyên nếu có dự án với mã VBA lớn.
Đô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.
Khi đang lặp trình bỗng dưng thực hiện save hoặc đang viết mã, quá trình biên dịch có thông báo như sau:

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

Excel 64-bit crashes when activating macros but Excel 32-bit does not
learn.microsoft.com
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
August 8, 2017, update for Excel 2016 (KB3085435) - Microsoft Support
Describes the Excel 2016 update (KB3085435) that was released on August 8, 2017.

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ố.
- Thoát khỏi tất cả các ứng dụng Microsoft Office.
- 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.
- Xác định vị trí và chọn khoá đăng ký con sau:
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options\ - Trên menu Edit , trỏ tới New , rồi nhấp vào DWORD Value .
- Nhập ForceVBALoadFromSource rồi nhấn Enter.
- Trong ngăn Chi tiết , bấm chuột phải vào ForceVBALoadFromSource , rồi bấm Sửa đổi .
- Trong hộp Dữ liệu giá trị, nhập 1, sau đó bấm OK .
- 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.
Lưu ý: hướng dẫn trên đây chỉ dành cho lập trình viên hoặc những ai thường sửa mã VBA với dự án có lượng lớn mã VBA.
Vì mỗi lần mở tệp sẽ biên dịch lại mã VBA từ đầu, sẽ gây tốn kém tài nguyên nếu có dự án với mã VBA lớn.
Lần chỉnh sửa cuối: