使用MSSQL后端创建了几个Vb.net(studio 2015)前端,用于数据管理。他们都使用办公室出口报告。我们目前使用Office 2010并没有问题(Windows 7)。
有些PC已经开始进入Office 2016了,这就是我突然遇到的问题。
这里只是为了展示一段代码。
Imports Excel = Microsoft.Office.Interop.Excel
Dim oExcel As Microsoft.Office.Interop.Excel.Application
oExcel = CreateObject("Excel.Application")
Dim wBook As Microsoft.Office.Interop.Excel.Workbook
Dim wSheet As Microsoft.Office.Interop.Excel.Worksheet
wBook = oExcel.Workbooks.Add()
wSheet = wBook.ActiveSheet()
With oExcel
.SheetsInNewWorkbook = 1
.Worksheets(1).Select()
Dim i As Integer = 2
.Cells(i, 1).value = "SUPERVISOR NAME"
.Cells(i, 2).value = "TOTAL"
For Col = 0 To Workflow_Set.Tables("Workflow").Rows.Count - 1
.Cells(i, Col + 3).value = RNF(Workflow_Set, "Workflow", Col, "Description")
.Cells(i, Col + 3).EntireColumn.AutoFit()
Next
.Visible = True
所以我尝试在我的机器上安装Office 2016。根据该代码我得到错误。我完全卸载了2010.我将项目中的所有引用从Office 14.0交换到16.0。它编译得很好。但是当我去实际运行这些电话时,我遇到的问题和以前一样。
"未处理的类型' System.Exception'发生在Microsoft.VisualBasic.dll中 附加信息:无法创建ActiveX组件。"在线#34; oExcel = CreateObject(" Excel.Application")"
好的,所以我尝试将其改为简单的&#34; oExcel = New excel.Application&#34; 现在出现COM错误。类型&#34;&#39; System.Runtime.InteropServices.COMException&#39;的未处理异常发生在mscorlib.dll中 附加信息:由于以下错误,检索CLSID为{000209FF-0000-0000-C000-000000000046}的组件的COM类工厂失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))。&#34; < / p>
我在另一个帖子中看到使用它来搜索遗留的过时信息,但该regkey ID并不会导致任何事情。 我一直在尝试isntalled不同的包。寻找旧办公室2010年的注册表内容没有运气。我不知道该怎么做才能解决这个问题。