如何用VBA导出一个窗口表数据(副表)到一个已存在的XLS文件。
窗口中的“导出”按钮“代码如下:
Dim App As New MSExcel.Application
Dim wb As MSExcel.Workbook
Dim ws As MSExcel.Worksheet
Dim startRow As Integer = 5 ' 指定开始行
Dim startCol As Integer = 3 ' 指定开始列
' 打开已存在的Excel文件
wb = App.Workbooks.Open("C:\test.xls")
ws = wb.Sheets(1) ' 选择第一个工作表,或者根据需要选择其他工作表
' 获取当前窗口中的副表
Dim subTable As Table = Tables(e.form.Name + "_table1")
' 遍历副表的数据并写入Excel
For i As Integer = 0 To subTable.Rows.Count - 1
For j As Integer = 0 To subTable.Cols.Count - 1
ws.Cells(startRow + i, startCol + j).Value = subTable.Rows(i)(j)
Next
Next
' 保存并关闭Excel文件
wb.Save()
wb.Close()
' 释放Excel对象
App.Quit()
MessageBox.Show("导出完成!")
但是,运行出错:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 8007065e 这个类型的数据不受支持。 (异常来自 HRESULT:0x8007065E)。