【2017年整理】Word域与数据库的结合编程.docx

【2017年整理】Word域与数据库的结合编程.docx

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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 Int16 Dim MyField() Word是否已运行 Private IsWordRunning As Boolean 是否已经插入了表格行 Private IsInsertRow As Boolean?? Word工具栏对象及菜单栏对象数组 Dim CommandBarIndex() As Integer Dim SaveCommandBarMenuIndex() As Integer ● 定义的CWordDoc类的方法。?   定义打开Word文件的方法。建立Word应用对象和文档对象,并打开Word文件。设定Word已经运行。VBA编程主要是先建立某一个应用程序的对象,

文档评论(0)

love1987421 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档