使用LabVIEW報表​產生​工具組時出現錯誤-41106

更新 Jul 31, 2023

產品資訊

軟體

  • LabVIEW Report Generation Toolkit

其他

  • Microsoft Excel
  • Microsoft Word

問題敘述

  • LabVIEW Report Generation Toolkit中的New Report VI的行為與預期不符
  • 執行到此VI後,LabVIEW將回傳錯誤-41106或完全崩潰
  • 錯誤說明指出此電腦上未安裝Microsoft Excel或Word

解決方案

可能有一個額外的登錄機碼(Registry Key)可用,導致ActiveX呼叫不正確的登錄檔(registry)。這可以通過不同的方式修復:
最安全的方法是:

以上的方法需要更長的時間。更快的方法是在Windows登錄檔編輯器(Registry Editor)中手動編輯登錄機碼(Registry Key),但可能會損壞您的電腦。下面列出了執行此操作的步驟。
注意:編輯登錄檔(registry)可能會損壞您的電腦。強烈建議在修改登錄檔(registry)之前進行備份。

  1. 移至開始(Start)»執行(Run)並鍵入regedit,然後選擇“ 確定” 。這將打開登錄檔(registry)進行編輯。
  2. 移至Registry Menu,然後選擇Export Registry File.
  3. 為匯出範圍選擇全部 ,然後選擇文件名。這將創建登錄檔的備份副本。
  4. 登錄檔編輯器打開後,選擇到Microsoft Excel的登錄機碼(Registry Key):
    • HKEY_CLASSES_ROOT \TypeLib \ {00020813-0000-0000-C000-000000000046}
  5. 此項包含用於Excel類型庫的位置。在此鍵下,檢查以下子項(如下所示),以獲得與之關聯的正確數據。
    • 1.0子項的數據應為Microsoft Excel 5.0 Object Library
    • 1.2子項的數據應為Microsoft Excel 8.0 Object Library
    • 1.3子項的數據應為Microsoft Excel 9.0 Object Library
    • 1.4子項的數據應為Microsoft Excel 10.0 Object Library
    • 1.5子項的數據應為Microsoft Excel 11.0 Object Library
    • 1.6子項的數據應為Microsoft Excel 12.0 Object Library(MS Excel 2007)
    • 1.7子項的數據應為Microsoft Excel 13.0 Object Library(MS Excel 2010)
    • 1.8子項的數據應為Microsoft Excel 15.0 Object Library(MS Excel 2013)
    • 1.9子項的數據應為Microsoft Excel 16.0 Object Library(MS Excel 2016)
  6. 如果有任何其他登錄機碼(Registry Key)未分配給Microsoft Excel Object Library,則應刪除這些項。
    • 例如,如果存在註冊表1.7並且未指向Microsoft Excel Object Library,則需要將其刪除。

相關資訊

LabVIEW報表​產生​工具組是建立在ActiveX呼叫Microsoft Office ActiveX控件。錯誤-41106是當ActiveX無法呼叫ActiveX Object的引用時,由Report Generation Toolkit VI引發的自定義錯誤代碼。
 
很可能已安裝了測試版的Microsoft Office,並且沒有正確卸載此版本的Microsoft Office。此外,如果安裝的Office軟體比使用的Excel版本更新,則會出現此錯誤代碼。例如,將Visio 2013安裝在與Microsoft Office 2010相同的電腦上。這兩種方案都可能導致額外的登錄機碼(Registry Key)可用。登錄檔(registry)未指向Microsoft Excel Object Library,並且報表​產生​工具組正在嘗試使用此登錄檔(registry)。