以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]如何用VBA导出一个窗口表数据(副表)到一个已存在的XLS文件。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=195625) |
||||
-- 作者:明天的灵 -- 发布时间:2025/2/23 22:28:00 -- [求助]如何用VBA导出一个窗口表数据(副表)到一个已存在的XLS文件。 如何用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)。
|
||||
-- 作者:有点蓝 -- 发布时间:2025/2/23 22:35:00 -- 我测试代码没有问题。系统安装的office组件有问题。 卸载重新安装一下office,需要安装完整版的,最好是32位版本。不能安装精简版、绿色版的。一般Ghost系统自带的都是精简版。不要安装2007及更久的版本 如果有安装WPS,卸载掉。 |
||||
-- 作者:明天的灵 -- 发布时间:2025/2/23 23:28:00 -- 这个问题,确定是某台电脑问题。换一台电脑即能输出。 经检查,这台电脑安装了WPS,先卸载了WPS,但还是出错。再卸载重新安装一下office 2003,并安装了完整版2003(32位版本),还是不行。 该台电脑是Ghost系统,自带了office 2007,并不可卸载。 |
||||
-- 作者:有点蓝 -- 发布时间:2025/2/24 8:41:00 -- 肯定可以卸载的。不行就换个安装包重装系统,安装原版的系统。
|