一、從 IClassFactory 為 CLSID 為 {00024500-0000-0000-C000-000000000046} 的 COM 組件創建實例失敗,原因是出現以下錯誤:80010001。
解決方法:
安裝wps2016可以解決。
二、檢索 COM 類工廠中 CLSID 為 {0DB6B315-0A8D-40EB-8F21-3408162AF3F5} 的組件時失敗,原因是出現以下錯誤: 80040154。
解決方法:
①win+R,再輸入regedit,打開注冊表,搜索CLSID {0DB6B315-0A8D-40EB-8F21-3408162AF3F5},打開並找到InprocServer32(如果搜索到的第一個沒有InprocServer32文件夾,則繼續搜索),根據信息找到該ID對應的DLL(psubs.dll)。
②開始=>搜索cmd=>右鍵管理員方式運行,輸入cd C:\Windows\SysWOW64回車,輸入regsvr32 C:\Windows\SysWOW64\psubs.dll,回車顯示注冊成功。
無CLSID的異常【"沒有注冊類 (異常來自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))" 】。
解決方法:
因為不確定哪個未注冊,debug找到出錯代碼位置,自己判斷是哪個dll,根據上述注冊一遍。
注:如果注冊表內搜索不到出錯的CLSID,只能debug找到錯誤地點,自行判斷哪個dll出錯。
三、無法將類型為“Excel.ApplicationClass”的 COM 對象強制轉換為接口類型“Excel._Application”。此操作失敗的原因是對 IID 為“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 組件調用 QueryInterface 因以下錯誤而失敗: 庫沒有注冊。 (異常來自 HRESULT:0x8002801D (TYPE_E_LIBNOTREGISTERED))。
解決方法:
這個錯誤一般是安裝office才出現的,此時,只需安裝wps,安裝wps是為了注冊COM組件。安裝成功后,異常不在發生,卸載WPS。
注:此時可以卸載WPS,要從控制面板卸載,不要使用360卸載,360會把剛注冊的組件清除,異常會再次出現。
四、異常來自 HRESULT:0x800AC472。
解決方法:
開始----運行----粘貼 excel.exe /regserver,回車。
五、遠程過程調用失敗。 (異常來自 HRESULT:0x800706BE)。
解決方法:
①win+R,輸入dcomcnfg.exe,點擊組件服務,選中我的電腦右鍵屬性。
②找到COM安全=>編輯默認值。
③把所有用戶的權限全部都選允許。
六、檢索 COM 類工廠中 CLSID 為 {000208D5-0000-0000-C000-000000000046} 的組件時失敗,原因是出現以下錯誤: 80070005。
解決方法:
①win+R 輸入dcomcnfg.exe,打開組件服務,依次打開找到DCOM配置。
②找到DCOM配置下的Microsoft Excel Application,右鍵屬性。
③點擊安全,啟動和激活權限、訪問權限選擇自定義,並選擇編輯。
④添加用戶NETWORK SERVICE和IIS_IUSRS,如下圖所示。
⑤點擊標識,選擇啟動用戶,確定。(有時選擇啟動用戶還會出現異常,那就選擇交互式用戶,具體看情況)
七、服務器出現意外情況。(異常來自 HRESULT:0x80010105(RPC_E_SERVERFAULT))。
解決方案:
將Excel中的PDF COM加載去掉就可以了。