代码如下:
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
e.Form.Controls("dpb_ExcelFile").text = dlg.FileName
Dim strCombo As String
Dim App As New MSExcel.Application
App.Visible = False
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName)
For Each Ws As MSExcel.WorkSheet In Wb.WorkSheets
strCombo = strCombo + Ws.Name + "|"
Next
strCombo = left(strCombo, len(strCombo) - 1)
e.Form.Controls("lst_ExcelSheet").ComboList = strCombo
App.Quit
End If
在开发电脑上运行没问题,发布后换另一台电脑,Office版本为Microsoft Office Home and Student 2019,运行时出错信息如下:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,Form_ContractImport,dpb_ExcelFile,ModalButtonClick
详细错误信息:
无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错。 (异常来自 HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY))。
请问组件是否支持的Office版本有限制?