我正在开发一个 Autodesk Revit 插件,它与 Excel 通信并在单元格上执行一些标准的读/写操作。我引用了 Microsoft.Office.Interop.Excel (v12.0.0.0),因为某些用户可能安装了 Office 2007 而不是 2010 或更高版本。我使用 Visual Studio 2013。这是代码的开头;
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.Application();
但是,在某些计算机上,这会返回以下错误:
Revit 遇到 System.Runtime.InteropServices.COMException(0x80040154):检索具有 CLSID (00024500-000-0000-C000-000000000046) 的组件的 COM 类工厂失败,原因是以下错误:80040154 未注册类(来自 HRESULT 的异常: 0x80040154 (REGDB_E_CLASSNOTREG))。
它适用于安装了 Office 2007/2010/2013 的多台 64 位/32 位计算机。但它也不适用于具有相同规格的其他计算机。我怎样才能找出问题所在?
编辑:在此特定行返回错误: xlApp = new Excel.Application();
有人建议注册 dll,但这不适用于 Microsoft.Office.Interop; HRESULT:0x80040154(REGDB_E_CLASSNOTREG))