[Solved] 開發Powershell script以產生Excel報表時,發生例外狀況於 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG) - Slash Engineer 要多斜有多斜

Breaking

Slash Engineer 要多斜有多斜

程式設計的學習過程 (環境設置、開發環境、程式設計、語法練習、資料結構等等...) 99'暑假:六月初開始. 社會新鮮人:十一月初開始.

2024年4月24日 星期三

[Solved] 開發Powershell script以產生Excel報表時,發生例外狀況於 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)

Background:

開發一個powershell script以擷取並表列printer的狀態資訊。
在開發電腦執行都沒問題,但*.ps1移到工作站執行卻意外失敗。


擷取元件 (CLSID 為 {00024500-0000-0000-C000-000000000046}) 的 COM Class Factory 失敗,因為發生下列錯誤: 80040154 類別未登錄 (發生例外狀況於 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))。


Environment:

開發站:M365 installed only

工作站:M365 and Office 2010 installed


Analysis:

確認多個文章建議刪除註冊檔的方式皆沒有效果(因為刪除不了...)



Workaround:

透過完整移除Office 2010並重開機,再重新安裝M365即可。


而完整移除有很多方式:

1. Revo Uninstaller是個非常好用的工具

我個人喜歡用這個工具進行各種app移除,可以順便清理很多temp檔以及註冊檔



BUT! 人生中這個重要的BUT
但如果你是在公司內網的環境下,基本上這類app是不允許安裝或使用的。

2.可以使用Microsoft官方工具進行移除,兩個連結都可以


點開頁面之後,往下拉一點到這個位置,並選取 選項 2  - 使用解除安裝xxx
點開後就會發現可以下載位址。
微軟下載連結真的不容易找,這style不知道什麼時候會改善...


然後就可以選擇Office 2010將其移除。


但如果你跟我一樣遇到什麼不明原因,工具移除到一半,直接顯示移除失敗...
那就再點開一次,選取下面這個選項也可以。



然後就繼續按下一步,過程會花個3~5分鐘至少,總之就等他移除完就好啦~

我有重新開機啦,看你~



===========================


Extra discussion:

Office 2010、M365都移除了...

可是M365公司沒有開放手動下載安裝怎麼辦????

甭擔心~分享一個奇技淫巧...

Step.1 點開你的OneDrive,並選取線上檢視


Step.2 點開任意一個檔案,如Word,再點[編輯] > [在傳統應用程式中開啟]

Step.3 然後M365的app就回來啦~


Step.4 其他幾個M365 app,繼續照做即可!



bye~







Ref:

1.office2019 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 - Microsoft Community

2.Office 無法卸載乾淨?官方備有專用工具讓你把它清光光 (kocpc.com.tw)

3.Office 2010 移除工具也無法移除 - Microsoft 社群

4.c# - Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A - Stack Overflow

5.** Troubleshooting ** "This operation failed because the QueryInterface call on the COM component for the interface ... 0x80029C4A (TYPE_E_CANTLOADLIBRARY)" errors when using Excel-related functionality (ibm.com)

6.異常來自HRESULT.0x80029C4A(TYPE_E_CANTLOADLIBRARY)的解決方法 - 台部落 (twblogs.net)

7.C#开发时提示:Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型......错误_学习笔记的技术博客_51CTO博客

8.System.InvalidCastException:“无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类-CSDN博客

9.如何解決編程中Excel不能讀取的問題 (alibabacloud.com)




沒有留言:

張貼留言

問題沒有大小或好壞