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

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

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

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

接下来在模板中编写出一条宏命令,直接在Word中用程序代码实现对数据库的读取。对Access数据库,用语句Setmd=DBEngine.OpenDatabase(“成绩库.mdb”)打开名为“成绩库.mdb”的数据库,用语句Setrs=md.OpenRecordset("学生成绩表",dbOpenTable)打开数据库中的表名为"学生成绩表"的记录集,本命令只对记录集进行查询,为了提高查询速度,选择了快照dbOpenSnapShot类型的记录。

对于foxpro的dbf数据库,用语句Setmd=OpenDatabase("d:grade学生成绩表",False,False,"foxpro2.5")打开名为“成绩库.dbf”的数据库,用语句Setrs=md.OpenRecordset("学生成绩表")的记录集。因为数据库中一条记录对应一个学生,每个学生都要打印一份通知书,都要用通知书的内容(包括书签),要将模板中的通知书全部内容复制到一个新建的临时文档中,处理完一条记录后,把通知书内容从新建的临时文挡中复制过来供下一条记录使用。

对于每个通知书(对应一条记录),用循环将数据表中的字段名用数组的形式保存,再根据通知书中的书签名与保存的字段名比较,如果存在则用语句mydoc1.Bookmarks(i).Select选择的书签名,用数据表中相应的字段值(rs.Fields(字段名))来替代文档中的所选择的书签名。右图为运行宏命令后的一个通知书。

感谢您访问:生涯设计公益网!本文永久链接:https://www.16175.com/626405.html。侵删或不良信息举报请联系邮箱:121488412@qq.com或微信:aban618。
(0)

相关推荐

  • 国税个人述职述廉报告范文

    国税个人述职述廉报告范文 各位领导、同志们,大家好:   今年来,在分局领导和同事的关心支持下,我紧紧围绕局党组确定的工作思路和工作重点,务实作风,创新工作,在政治思想、税收业务和…

    实用范文 2022年10月19日
    48
  • 2011年大学生党课学习心得体会

    我很高兴在2012年能被推荐去上党课。经过党课的培训,我在思想上对中国共产党有了比较全面系统地认识,并在内心树立了共产主义信念。同时,我也意识到入党条件之多,要求之高,发现自己身上…

    实用范文 2022年11月27日
    57
  • 学校英语老师课堂教学总结例文

    学校英语老师课堂教学总结例文五篇 总结所要反映的是全局工作或某项工作的全貌,所以在内容安排上要考虑到方方面面,全局工作不能遗漏哪个方面,单项工作不能遗漏哪个环节,否则就会影响工作总…

    实用范文 2023年1月12日
    35
  • 关于会计专业的个人简历末班

      姓 名:性 别:女   民 族:汉 族籍 贯:襄阳   出生日期:1995.11.20婚姻状况:否   学 历:大专政治面貌:团员   专 业:会计电算化健康情况:良好   求…

    实用范文 2022年11月7日
    44
  • 幼儿园中班语言《云彩和风儿》说课稿

      各位评委老师你们好!我今天说课的题目是中班散文《云彩和风儿》,下面我将从说教材、说教学目标和准备、说教法学法、说活动过程和活动延伸五个方面进行说课:   一.说教材我说的第一点…

    实用范文 2022年9月3日
    76
  • 幼儿园小班说课稿:橘子宝宝来做客

      下面是幼儿园小班说课稿——橘子宝宝来做客,希望可以帮助到大家哦!   一、说教材   1、活动来源:该活动与幼儿的现实生活紧密结合,可运用于主题活动之中…

    实用范文 2022年9月1日
    244
分享本页
返回顶部