全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 / 5VBA、Word 和数据库 的联合编程摘要 介绍了用 VBA 作为开发语言,用 Access 或foxpro 作为数据库, 用 word 中的书签作为媒介,实现数据库在 Word 中的自动替换方法,并以通知书为例给出了源程序。关键词 VBA Word 数据库 bookmark(书签)在实际工作中,常常需要将数据库中的数据放在Word 文挡中。例如学校每期都要将学生的成绩填入到通知书中寄发给学生。传统的实现方法是在 Word 手工输入或用数据库软件编写一个专门的程序(模块)来完成此项工作。采用 VBA 作为开发语言,用宏命令的方法实现了 Access 数据库或 foxpro 数据库中的数据在 Word 中的自动成批替换。1 实现方法先在 Word 中建立一个名为“通知书.dot”的模板,将通知书中固定的文字内容输入到该模板中, 将变动的文字内容(取数据库中的字段值)设置成书签(右图中的name、math 等)。为了编程方便,书签名可取数据库表中相应的字段名。完成后存入 Office 的 Templates(模板)目录下。2 / 5要实现 VBA 与数据库 Microsoft Access 97 的连接,在Word 中选主菜单 ”工具宏宏名”打开 Visual Basic 编辑器;选 VBA 主菜单条上工具菜单项下的引用命令,激活引用对话框,从可使用的引用列表中选择 Microsoft DAO / Compatibility Libray 一项,然后单击确定按钮,把它引用到工程中来。接下来在模板中编写出一条宏命令,直接在 Word 中用程序代码实现对数据库的读取。对 Access 数据库,用语句Set md = DBEngine. OpenDatabase (“成绩库.mdb”)打开名为“成绩库.mdb”的数据库,用语句 Set rs = md. OpenRecordset(学生成绩表, dbOpenTable) 打开数据库中的表名为学生成绩表的记录集,本命令只对记录集进行查询,为了提高查询速度,选择了快照 dbOpenSnapShot类型的记录。对于 foxpro 的 dbf 数据库,用语句 Set md = OpenDatabase(d:grade学生成绩表, False, False, foxpro )打开名为“成绩库.dbf”的数据库,用语句 Set rs = (学生成绩表)的记录集。因为数据库中一条记录对应一个学生,每个学生都要打印一份通知书,都要用通知书的内容,要将模板中的通知书全部内容复制到一个新建的临时文档中,处理完一条记录后,把通知书内容从新建的临时文挡中复制过来供下一条记录使用。对于每个通知书(对应一条记录),用循环将数据表中的字段名用数组的3 / 5形式保存,再根据通知书中的书签名与保存的字段名比较,如果存在则用语句 (i).Select 选择的书签名, 用数据表中相应的字段值(字段名)来替代文档中的所选择的书签名。右图为运行宏命令后的一个通知书。2 源程序清单 从数据题中读取数据的宏,在 Word97(2000)上调试运行开发者:湖南工程学院 陈华光Sub start()Dim i, j, k, m, nrecord , txtnumber As IntegerDim aname(1 To 20) As StringSet md = (D:grade成绩库.mdb)Set rs = (学生成绩表, dbOpenTable)Set mydoc1 = ActiveDocumenttxtnumber = Set range1 = (start:=0, End:=txtnumber)mydoc2 = Set range2 = (start:=0, End:=txtnumber)On Error Resume Next4 / 5nrecord = On Error GoTo doerrorFor k = 1 To 20aname(k) = (k).nameNext kdoerror:For m = 1 To nrecordIf m = 1 Then Else For k = 1 To 5totalnumber = 已存在的书签数For i = totalnumber To 1 Step -1bname = (aname(k)If UCase$(i).name) = UCase$(aname(k) Then(i).SelectText:=bnameEnd IfNext iNext kUnit:=wdLine, Coun
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年玉溪市元江县教育体育系统招聘初中学校教师校园招聘(7人)备考考点题库及答案解析
- 2025年通榆县信访信息中心公开选调事业编制工作人员备考题库(5人)附答案详解(能力提升)
- 2025江西赣州经济技术开发区疾病预防控制中心招聘见习生1人备考考点试题及答案解析
- 2025中国建材装备集团有限公司所属企业副总经理招聘1人备考考点题库及答案解析
- 2025年宁波市鄞州区云龙镇招聘编外人员1人备考题库含答案详解(考试直接用)
- 2026年吉林银行秋季校园招聘备考题库附答案详解(培优a卷)
- 2025北京市海淀区海淀街道社区卫生服务中心招聘5人备考题库及答案详解(必刷)
- 2025忻州原平市招聘社区专职工作人员备考题库附答案详解(基础题)
- 2026甘肃农信校园招聘备考题库及答案详解参考
- 2025年秋季贵州黔西南州特殊教育学校(黔西南州和美学校)赴省内外高校引进高层次人才和急需紧缺人才1人备考考点题库及答案解析
- MOOC 分子生物学-华中农业大学 中国大学慕课答案
- 知行合一与实践认识
- 电厂技术部主任的个人述职报告
- 口腔材料学课件
- 化工生产操作工培训手册
- 煤矿职业安全健康培训课件
- 2023年广东清远市清城区人民检察院招聘专项工作聘员4人笔试参考题库(共500题)答案详解版
- 3S技术在景观生态学中的应用解析课件
- 初中《阳光学业评价》英语八年级上册(含答案)
- 列车员个人先进事迹范文
- 安全用电防止触电主题教育PPT模板
评论
0/150
提交评论