- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【2017年整理】Word域与数据库的结合编程
Word域与数据库的结合编程
本文介绍了Word域与数据库结合的方法,给用户提供一个插入Word域的界面,并把数据库的数据填充到Word文件中。? 域是Word中最具有实用价值的功能之一,它表示文档中可能发生变化的数据或邮件合并文档中套用信函、标签中的占位符。Microsoft Word 可以在您使用一些特定命令时插入域,如插入菜单上的日期和时间命令。您也可使用插入菜单上的域命令手动插入域。事实上,我们在日常工作中常会脱离Microsoft Word的操作环境。一般,用户是先建立好一些Word文件模板,然后利用所提供的应用程序功能向Word文件模板中插入域,用该域对应的值取代域值,这样就达到了向Microsoft Word文件中插入数据的作用。我们常把数据放入数据库中,数据库的内容不断地变化,我们的域值也跟着不断地变化,取到灵活自动更新的作用,要达到这方面的功能,就应该把数据库与Word域结合起来。?
解决方法 首先要解决这一问题,我们必须先了解Word域有关的知识:Word域代码位于花括号或大括号 ( { } )中,域类似于 Microsoft Excel 中的公式:域代码类似于公式,域结果(域结果:当 Microsoft Word 执行域指令时,在文档中插入的文字或图形。在打印文档或隐藏域代码时,将以域结果替换域代码。)类似于公式产生的值。可在文档中切换显示域代码及其结果。正好,数据库的字段名对应域代码,字段值对应域值。我们利用VBA编程可以达到目的。VBA for Word 中有关域的类型很多,其中Type:=wdFieldAddin是一种关于字段与字段值对应的特殊域,正是借助它的功能解决问题。我们可以这么设想,用户先打开Word文件,然后向打开的Word文件中插入域,然后用数据库的数据填充。插入域时有二种可能,一种是单值域,即一个域代码对应一个域值(一对一关系),这种情况的域可以插入任何地方;另一种情况是多值域,即一个域代码对应多个域值(一对多关系)。这种情况的域只能插入表格中,并且当表格的行数比域值少时,要能自动提供增加表格行的功能。
实例说明
利用Visual Basic。Net编写通用的类,给用户提供可视化的编辑界面,用于用户在Word文件中插入域标志。针对Word文件或Excel表格文件,扫描整个文件,将其中的域标志取出来,然后通过从数据库中取出字段所对应的值,将值填写到文件中域对应的位置。若对应位置已有值,则判断该值与要填写的值是否相同,若不同则替换之。插入值分为:?A。单纯的值,直接使用一个值替换域。?B。表格中的单元格。若该表格填写不下,是否增加表格单元?以及与该单元关联的域等。?例如,有二个Access数据库的表(:表1对应单值域,表2对应多值域)如下:?
表1:工程
工程名称
设计阶段
工程检索号
项目名称
新制
字数
图片数
建模工具
学习(2)
fw-jm-2002
软件工程专家网
60
1000
3
表2:校核
序号
校核主要问题
执行情况
1
排列不齐
No
2
文字错
Yes
3
文字错
Yes
4
内容提要不详细
No
5
文字错
Yes
6
数据有误
No
利用VBA编写的一个通用的处理Word域的程序。开发步骤如下 :?1.建立项目,向项目中增加处理Word域的类?启动Visual Studio。NET。在新建项目中选择Visual Basic项目,在模板中选择Windows应用程序,把工程名更改为WordDoc。?● 向工程中增加名称为CWordDoc的类。?● 定义的CWordDoc类的属性。代码如下:
定义Word应用对象及文档对象Private wdApp As New Word..Application()Private wdDoc As New Word.Document()所处理的Word模板文件Private FileName As String域的个数及对应的数组Dim FieldCount As Int16Dim MyField()Word是否已运行Private IsWordRunning As Boolean是否已经插入了表格行Private IsInsertRow As Boolean??Word工具栏对象及菜单栏对象数组Dim CommandBarIndex() As IntegerDim SaveCommandBarMenuIndex() As Integer
● 定义的CWordDoc类的方法。? 定义打开Word文件的方法。建立Word应用对象和文档对象,并打开Word文件。设定Word已经运行。VBA编程主要是先建立某一个应用程序的对象,
您可能关注的文档
- 【2017年整理】tiaojieneifengmi.doc
- 【2017年整理】Unit 1 n.doc
- 【2017年整理】Unit 5 the battle against AIDS.doc
- 【2017年整理】unit1-15.doc
- 【2017年整理】vocabulary on desease.doc
- 【2017年整理】WB试验注意事项微信.doc
- 【2017年整理】WCP储罐爬行器说明书.doc
- 【2017年整理】weishengwushiyanbaogao.doc
- 【2017年整理】Western blot常见问题解答.doc
- 【2017年整理】Word2003实用操作技巧.doc
- 江西省九江市都昌县2023-2024学年八年级上学期11月期中英语试题(含答案).pdf
- 八年级上册历史复习知识点.docx
- 人教部编版五年级上册-第四单元-作文《习作:二十年后的家乡》.精品.ppt
- 六年级数学《分数除法》单元分析.docx
- 新课标人教版小学六年级语文上册课程纲要(2021年整理).doc
- 物理人教版必修第一册第二章匀变速直线运动的研究章节复习共28张课件.pptx
- (名师整理)最湘教版地理8年级上册第1章第4节《中国的民族》精品课件.ppt
- 人音版(五线谱)二年级上册音乐《8小拜年》说课稿.docx
- 2024年初中心理健康工作计划(五篇).doc
- 2024-2025学年小学五年级英语上册期中质量检查试题及答案北京版.docx
文档评论(0)