ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3062|回复: 2

使用ADO将数据导入Word方法

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-5-9 22:41 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

使用下述方法可将表中的数据导入Word新文档中,但每次导入时均创建一个新文档,如果要导入一个已存在的文档中,不知该如何更改代码?请高手指教。

Sub 命令0_Click()

'步骤1:建立数据连接cnn '由于数据库已经打开,所以直接应用CurrentProject.Connection就可以建立连接 Set cnn = New ADODB.Connection Set cnn = CurrentProject.Connection '步骤2:用SQL语句创建记录集rs Set rs = New ADODB.Recordset '设定游标类型与锁定类型 rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic '制定特定的查询条件,可以是任何有效的SQL查询,甚至包括多表、多条件等复杂的查询,查询条件也常常从窗体取得 SQL = "select 产品名称,单位数量,单价,库存量 from 产品 where 单价>10.00" '创建记录集rs rs.Open SQL, cnn '统计字段数及记录数 total_fields = rs.Fields.Count total_records = rs.RecordCount '步骤3:建立Word文档对象 Set mywdapp = CreateObject("word.application") '调整Word窗口大小 mywdapp.WindowState = wdWindowStateNormal '生成新的Word文档实例 mywdapp.Documents.Add '设置视图为页面视图 mywdapp.ActiveWindow.View.Type = wdPrintView '转到Word视图,显示文档生成过程 mywdapp.Visible = True mywdapp.Activate '设置文档(表格)字体 mywdapp.ActiveDocument.Range.Font.Size = "9" '步骤4:将记录集rs中的字段名称和字段内容输出到Word,各字段之间用制表符分隔 '输出字段名称 For I = 0 To total_fields - 2 mywdapp.Selection.TypeText Text:=rs.Fields(I).Name & vbTab Next I '最后一个字段名称后加回车符 mywdapp.Selection.TypeText Text:=rs.Fields(total_fields - 1).Name & vbCrLf '逐条输出字段内容 Do While Not rs.EOF For I = 0 To total_fields - 2 tmpstr = rs.Fields(I).Value If rs.Fields(I).Name = "单价" Then tmpstr = Format(tmpstr, "####.00") End If mywdapp.Selection.TypeText Text:=tmpstr & vbTab Next I '一条记录的最后一个字段后加回车符 mywdapp.Selection.TypeText Text:=rs.Fields(total_fields - 1).Value & vbCrLf rs.MoveNext Loop '步骤5:关闭记录集 rs.Close Set rs = Nothing

mywdapp.Application.ScreenRefresh '刷屏 '转到Acdess视图,显示结束对话框 mywdapp.Visible = False Msg = "数据提取完毕。" & vbCrLf & vbCrLf Msg = Msg & "总记录数=" & total_records & " 条" MsgBox Msg, vbOKOnly, "数据提取完毕" '转到Word视图,显示文档 mywdapp.Visible = True mywdapp.Activate End Sub

TA的精华主题

TA的得分主题

发表于 2005-5-10 14:46 | 显示全部楼层

将mywdapp.Documents.Add

改成类似

mywdapp.Documents.Open ("d:\123.doc")

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-5-11 00:17 | 显示全部楼层
非常感谢,已解决了,高手就是高手,看似简单,不懂就难,再次感谢!!!!!!!!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 15:11 , Processed in 0.028533 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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