接口的 COM 組件調用 QueryInterface 因以下錯誤而失敗: 庫沒有注冊。


這個問題原因是因為安裝了高版本的office然后卸載掉,又安裝了低版本的office導致的。

博主是 office2016卸載后,安裝了office2013.

EXCEL報錯信息為:

無法將類型為“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 對象強制轉換為接口類型“Microsoft.Office.Interop.Excel._Application”。
此操作失敗的原因是對 IID 為“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 組件調用 QueryInterface 因以下錯誤而失敗: 庫沒有注冊。 (異常來自 HRESULT:0x8002801D (TYPE_E_LIBNOTREGISTERED))。

word的報錯信息為:

無法將類型為“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 對象強制轉換為接口類型“Microsoft.Office.Interop.Word._Application”。
此操作失敗的原因是對 IID 為“{00020970-0000-0000-C000-000000000046}”的接口的 COM 組件調用 QueryInterface 因以下錯誤而失敗: 庫沒有注冊。 (異常來自 HRESULT:0x8002801D (TYPE_E_LIBNOTREGISTERED))。

解決問題需要對注冊表做如下操作:

EXCEL---修改HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}下把1.9的文件夾刪掉

WORD---修改HKEY_CLASSES_ROOT\TypeLib\{00020905-0000-0000-C000-000000000046}下把8.7的文件夾刪掉。

注:刪除的1.9和8.7文件夾均為空的文件夾,和1.8、8.6的文件夾很容易區分!

改后的效果如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM