设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3037|回复: 1
打印 上一主题 下一主题

[VBA编程/宏] [转帖]如何传数据到EXCEL中已经做好的表格中

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2004-6-2 03:45:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


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直接拷贝到指定开始的单元格中.

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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-6-22 01:32:17 | 只看该作者
好贴,收藏了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-14 13:15 , Processed in 0.090236 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表