Office中国论坛/Access中国论坛

标题: [转帖]如何传数据到EXCEL中已经做好的表格中 [打印本页]

作者: tmtony    时间: 2004-6-2 03:45
标题: [转帖]如何传数据到EXCEL中已经做好的表格中


HiRong:

    编程工具: vb6

    操作系统: win98

    问题: 我想将ACCESS中的数据传到EXCEL中已经做好的表格中,然后打印出来,请问如何传数据,谢谢!

回答:

    借助Automation你可以实现数据传递,下面是一个简单的例子:

    Dim ExcelApp As Object

     

    Private Sub Command1_Click()

     Dim i

     

     Set ExcelApp = CreateObject("excel.application")

     

     ExcelApp.Workbooks.Add

     i = 1

     While Not Data1.Recordset.EOF

     ExcelApp.Range("a" & i).Value = Data1.Recordset("CategoryName")

     i = i + 1

     Data1.Recordset.MoveNext

     Wend

     ExcelApp.Visible = True

    End Sub

     

    JiaQiang Xu的意见:

    在VB中编写Excel的外接程序Addin,生成一个 Dll文件,在这个Addin中,用ADO或DAO读取Access,和一般方法无异。注册Dll后,在Excel的Com Addins列表中出现这个Addin,加载该Addin,发生OnConnection事件,该事件有一个参数Application,就是Excel事例,可据次编写代码将Access数据填到Excel单元格中。

    如果你用VBA编写宏,就不能编译成DLL,除非安装office developer tools。Com Addin比Automation效率更高。

    cobe的意见:

    有一个更好些的办法,就是用xSheet.Range("A1").CopyFromRecordset RS

    这样可以将一个DAO的Recordset直接拷贝到指定开始的单元格中.

此问题由李海回答。 转自<问专家>


作者: joyark    时间: 2011-6-22 01:32
好贴,收藏了





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3