加入收藏 | 设为首页
广告位出租
中国论文网 >> 计算机 >> 计算机理论 >> VBA、Word和数据库的联合编程

VBA、Word和数据库的联合编程

发布时间:2006-09-15 00:24

摘要  本文介绍了用VBA作为开发语言,用Access或foxpro作为数据库, 用word中的书签作为媒介,实现数据库在Word中的自动替换方法,并以通知书为例给出了源程序。

 

 关键词  VBA Word 数据库 bookmark(书签)

在实际工作中,常常需要将数据库中的数据放在Word文挡中。例如学校每期都要将学生的成绩填入到通知书中寄发给学生(家庭)。传统的实现方法是在Word手工输入或用数据库软件编写一个专门的程序(模块)来完成此项工作。本文采用VBA作为开发语言,用宏命令的方法实现了Access数据库或foxpro数据库中的数据在Word中的自动成批替换。

1 实现方法

    先在Word中建立一个名为“通知书.dot”的模板,将通知书中固定的文字内容输入到该模板中, 将变动的文字内容(取数据库中的字段值)设置成书签(右图中的name、math等)。为了编程方便,书签名可取数据库表中相应的字段名。完成后存入Office的Templates(模板)目录下。

   要实现VBA与数据库Microsoft Access 97的连接,在Word中选主菜单 ”工具\宏\宏名”打开Visual Basic编辑器;选VBA主菜单条上[工具]菜单项下的[引用]命令,激活[引用]对话框,从可使用的引用列表中选择Microsoft DAO 2.5/3.5 Compatibility Libray一项,然后单击[确定]按钮,把它引用到工程中来。

2  源程序清单

‘从数据题中读取数据的宏,在Word97(2000)上调试运行

‘开发者:湖南工程学院 陈华光

Sub start()

 Dim i, j, k, m, nrecord , txtnumber  As Integer

 Dim aname(1 To 20) As String

 Set md = DBEngine.OpenDatabase("D:\grade\成绩库.mdb")

 Set rs = md.OpenRecordset("学生成绩表", dbOpenTable)

 Set mydoc1 = ActiveDocument

 txtnumber = mydoc1.Characters.Count

 Set range1 = mydoc1.Range (start:=0, End:=txtnumber)

 range1.Copy

 mydoc2 = Documents.Add

 Selection.Paste

 Set range2 = mydoc2.Range(start:=0, End:=txtnumber)

 mydoc1.Activate
分页:[1] 2  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
Copyright © 2006 Chinalww.com. All rights reserved.中国论文网 版权所有