Khắc phục lỗi Unable to cast COM object khi kết nối Excel
Lỗi Unable to cast COM object ... (TYPE_E_CANTLOADLIBRARY) thường xảy ra khi các tiện ích AutoCAD / ứng dụng AJS kết nối với Microsoft Excel (như xuất bảng thống kê hoặc nhập dữ liệu từ Excel trong B2E, E2A, D2X…). Lỗi không nằm ở bản vẽ hay ứng dụng AutoCAD mà do thư viện COM (Type Library) của Microsoft Office/Excel trên Windows bị hỏng hoặc sai đăng ký Registry.
Dấu hiệu nhận biết
- Khi chạy lệnh đọc hoặc xuất dữ liệu sang Excel, ứng dụng báo lỗi và không thể mở hoặc kết nối được với Excel.
- Nội dung thông báo lỗi thường gặp có dạng:
Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Excel.Workbook'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{000208DA-0000-0000-C000-000000000046}' failed due to the following error: Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).
System.InvalidCastException: Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Excel.Workbook'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{000208DA-0000-0000-C000-000000000046}' failed due to the following error: Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).
Trên một số máy, tên interface trong thông báo có thể khác (ví dụ Microsoft.Office.Interop.Excel._Application hoặc Worksheet), nhưng đều có chung mã lỗi 0x80029C4A (TYPE_E_CANTLOADLIBRARY).
Nguyên nhân
Khi ứng dụng .NET hoặc plugin AutoCAD giao tiếp với Excel thông qua COM Interop, Windows cần tra cứu tệp thư viện kiểu (Type Library) của Excel trong Registry.
Lỗi xảy ra khi khóa đăng ký này bị hỏng hoặc trỏ sai tệp DLL — thường gặp sau khi:
- Cập nhật Windows hoặc Microsoft Office.
- Cài đặt song song nhiều phiên bản Office (ví dụ cài Office mới đè lên hoặc cài thêm bản cũ).
- Gỡ bỏ một phiên bản Office cũ không sạch, để lại khóa Registry trỏ tới đường dẫn không còn tồn tại.
Cách khắc phục
Cách 1. Sửa chữa (Repair) Microsoft Office (Khuyến nghị)
Trước khi thực hiện, hãy lưu bản vẽ và đóng toàn bộ các cửa sổ Excel, Word, PowerPoint và AutoCAD đang mở để quá trình sửa chữa không bị kẹt tệp.
Bước 1. Mở danh sách ứng dụng đã cài trên Windows
- Mở Settings của Windows (nhấn phím Win, gõ
Settingsrồi chọn mở ứng dụng Settings).

- Vào mục Apps → Installed apps (Windows 11) hoặc Add or remove programs / Apps & features (Windows 10), tìm Microsoft Office hoặc Microsoft 365.

Bước 2. Chọn Modify
- Trên Windows 10: bấm vào mục Microsoft Office / Microsoft 365 → chọn Modify.
- Trên Windows 11: bấm vào biểu tượng dấu ba chấm (
...) ở bên phải mục Microsoft Office / Microsoft 365 → chọn Modify. - Nếu hộp thoại User Account Control xuất hiện hỏi quyền quản trị, chọn Yes.
Bước 3. Chạy Quick Repair hoặc Online Repair
Trong cửa sổ sửa chữa của Microsoft Office, chọn chế độ sửa rồi bấm Repair:
- Thử Quick Repair trước (chạy nhanh, không cần kết nối Internet).
- Nếu chạy xong Quick Repair vẫn còn lỗi, hãy lặp lại Bước 1–2 và chọn Online Repair (cần Internet ổn định và mất nhiều thời gian hơn, nhưng sẽ khôi phục đầy đủ các khóa đăng ký và tệp của Office).

Bước 4. Khởi động lại máy tính
Sau khi quá trình Repair hoàn tất, khởi động lại máy tính (nếu cần thiết) rồi mở lại AutoCAD và thử kết nối lại với Excel.
Cách 2. Kiểm tra khóa Registry TypeLib của Excel (Nâng cao)
Nếu đã chạy cả Quick Repair và Online Repair nhưng vẫn gặp lỗi 0x80029C4A (thường do máy từng cài/gỡ nhiều bản Office khác nhau), bạn có thể kiểm tra khóa Registry của Excel:
Thao tác sai trong Registry có thể ảnh hưởng tới hoạt động của Windows và Office. Hãy sao lưu (Export) khóa Registry trước khi xóa, hoặc liên hệ kỹ thuật viên AJS nếu bạn không quen thao tác với regedit.
- Nhấn Win + R, nhập
regeditrồi nhấn Enter. - Đi tới đường dẫn:
HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}
- Mở rộng khóa này, bạn sẽ thấy các thư mục con theo số phiên bản (ví dụ
1.7,1.8,1.9…). - Kiểm tra nhánh
0\win32hoặc0\win64trong từng thư mục phiên bản: nếu có khóa phiên bản cũ trỏ tới đường dẫnEXCEL.EXEkhông còn tồn tại trên máy, hãy Export sao lưu rồi xóa khóa phiên bản thừa đó, chỉ giữ lại khóa của phiên bản Excel đang sử dụng. - Khởi động lại máy tính và kiểm tra lại trong AutoCAD.
Lưu ý thêm
- Cần cài Microsoft Excel bản desktop đầy đủ: các bộ văn phòng thay thế (WPS Office, LibreOffice…) hoặc phiên bản web/rút gọn không hỗ trợ đầy đủ COM Interop
Microsoft.Office.Interop.Excelnên các tiện ích kết nối Excel sẽ không chạy được. - Lưu ý cho lập trình viên .NET Add-in: nếu tự phát triển plugin chạy trên máy cài Windows 64-bit nhưng Office 32-bit, cần kiểm tra thêm cấu hình Platform target (
x86/x64/Any CPU) cho tương thích với môi trường AutoCAD và Office.
Tham khảo & Hỗ trợ
- Bài viết gốc trên Blog AutoLISP: Khắc phục lỗi Unable to cast COM object khi làm việc với Excel (lisp.vn)
- Tài liệu tham khảo kỹ thuật: Stack Overflow — Unable to cast COM object of type Microsoft.Office.Interop.Excel
- Nếu đã làm theo các bước trên nhưng vẫn không khắc phục được, hãy chụp ảnh thông báo lỗi và liên hệ Hotline / Zalo hỗ trợ AJS: 0382 774 457 để được kiểm tra trực tiếp.