Microsoft.Office.Interop.Excel未注册DLL

时间:2017-06-02 12:53:34

标签: c# excel-vba office-interop office-2013 vba

使用Microsoft.Office.Interop.Excel.dll会导致以下错误:

  

未处理的类型异常   ' System.Runtime.InteropServices.COMException'发生在mscorlib.dll

     

其他信息:检索组件的COM类工厂   CLSID {00020819-0000-0000-C000-000000000046}由于失败而失败   以下错误:80040154 Klasse nicht registriert(例外来自   HRESULT:0x80040154(REGDB_E_CLASSNOTREG))。

此代码的第四行出现错误:

 using EX = Microsoft.Office.Interop.Excel;

 private void LoopBANFDokumenteLibrary(System.Uri Link)
 {
        EX.Application MSExcel = new EX.Application();
        EX.Workbook WB = MSExcel.Workbooks.Add(new EX.Workbook()); //ERROR: Exception thrown
        EX.Worksheet WS = WB.Worksheets.Add(new EX.Worksheet());
        /*...and further code...*/
 }

几年前,我每天使用这个Interop.Excel.DLL,从来没有遇到过这个问题。打开regedit.exe,dll已注册,您可以在此屏幕截图中看到:

regedit

有人有想法,有什么不对吗?

问候并感谢你, 扬

1 个答案:

答案 0 :(得分:1)

更改

EX.Workbook WB = MSExcel.Workbooks.Add(new EX.Workbook());

EX.Workbook WB = MSExcel.Workbooks.Add();

同样使用

EX.Worksheet WS = WB.Worksheets.Add();