知识大全 在PB中实现Word内容的替换

Posted 书签

篇首语:少年辛苦终身事,莫向光阴惰寸功。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在PB中实现Word内容的替换相关的知识,希望对你有一定的参考价值。

在PB中实现Word内容的替换  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  本文介绍一种在Power Builder(以下简称为PB)中利用OLE把数据库中的数据传送到Word文档的方法 通过这种方法 用户可以根据需求而改变内容 以Word方式打印结果文档 例如 在处理学生成绩时 如果要将每个学生的成绩报告生成Word文档 不同的学生只改变姓名 学号和年度等数据 其他的格式不改变 只要从学生成绩数据库中调出特定数据 插入或替换到已经制作好的Word模版中 即可解决问题

一 创建Word模版文档

  Word模板文档的创建根据用户的要求进行 在固定的内容输入完成后 将需要变换内容(例如姓名 年度 系别和证书编号等)的位置输入 student_name student_year department 以及 student_id 等编码 注意: 尽量使用英文来表示这些变量 目的是避免某些汉字相同而造成的误替换

  在需要动态改变内容的位置 不需要输入文字 可以通过插入书签的方法实现 具体操作如下 首先 选择在Word中 选择 插入 * 书签 弹出 书签 对话框(如图 所示) 在 书签名 文本框中输入书签名称后 点击 添加 按钮 即在当前光标位置上增加了一个书签 假设我们增加了 个书签 分别是 name year department以及id 分别代表姓名 年度 系别以及证书编号

二 PB实现方法

  在窗体中新建一OLE控件 在弹出的 insert object 属性窗口的 create new tab 选项卡中选择 Microsoft Word 文档 选项 点击 OK 按钮后将该控件放在窗体中适当位置 PB系统会自动出现Microsoft Word应用程序 将控件命名为 OLE_Word 并创建 打开文件 替换数据 和 存盘 按钮 编写如下代码

.打开文件 string docname named integer value value = getfileopenname( Select File docname named DOC Doc Files (* DOC) * DOC ) if value = THEN // 将模版文件另存为实际操作文件(程序略) if ole_Word open(docname)= then ole_Word activate(inplace!) end if end if

  这里使用 GetFileOpenName 函数让用户自行选择文件 实际应用时可以进行条件的限定 注意: 需要将模版文件另存为实际操作文件后再打开 不能直接操作模版文件 打开文件参数有 种 其中 inplace 表示在PB程序内部窗口调用Word 部分提供Word的功能菜单; 另一种参数是 offsite 表示PB程序外启动Word应用程序 提供Word的所有功能菜单 简单的演示文档如图 所示

.插入或替换操作

( )替换数据法

string ls_find_string ls_replace_string //取数据库中数据赋值变量ls_replace_string(程序略) ls_find_string = student_name ls_replace_string = 张某 ole_Word object application Selection find Execute(ls_find_string false true false false false true true ls_replace_string ) //替换student_year department student_id的程序与替换student_name相同 略 其运行结果如图 所示

( )插入数据法

  除了使用查找替换方式 您还可以使用书签方式来实现上述操作 string ls_name ls_year department ls_id//取数据库中数据赋值变量ls_name ls_year department ls_id(程序略) IF ole_Word object application ActiveDocument Bookmarks Exists( name ) THEN ole_Word object application activedocument bookmarks item( name ) select//定位书签name ole_Word object application selection typetext(ls_name)//插入值 for i = to //消除非法字符 ole_Word object application Selection TypeBackspace() next ELSE//错误提示 END IF //定位书签year department id一样 略 注意事项:

   .一定要判断书签是否存在 如果书签不存在 进行以上操作将导致系统错误    .因为汉字双字节问题 PB 中每插入一个汉字后会在后面产生一非法字符 需要判断汉字个数来决定调用 TypeBackspace() 的次数 上面涉及的 次循环次数是举例说明 实际编程要使用变量替代   上面的 种方法各有利弊 插入数据方式设计思想简单 操作容易 控制也比较方便 但不适合多处插入同一内容 并且需要删除产生的非法字符; 而替换方式只调用一个函数 可以搜索整个文档替换同一内容 并不产生非法字符 但有可能替换掉不该替换的内容 但是涉及的参数太多 不易记住

.存盘

ole_Word save() ole_Word clear()

cha138/Article/program/SQL/201311/16393

相关参考

知识大全 在PB中实现Word内容的替换[1]

在PB中实现Word内容的替换[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 在PB中实现Word内容的替换[3]

在PB中实现Word内容的替换[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 word中选中文字后输入为什么不替换

word中选中文字后输入为什么不替换你应该使用的是word2010,可以这样进行设置,文件——选项——高级——键入内容替换所选文字打钩Word选中文字后输入不能覆盖怎么办可以这样进行设置,文件——选项

知识大全 PB打印机选择列表的分析与实现

PB打印机选择列表的分析与实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Word的打印对话

在Excel中,在对单元的内容进行替换的操作,应当使用的菜单是

在Excel中,在对单元的内容进行替换的操作,应当使用的菜单是_____。A、“工具”B、“文件”C、“数据”D、“编辑”答案:D解析:在Excel中,在对单元的内容进行替换的操作,应当使用的菜单是“

Word中,__可选定一个矩形块的内容

Word中,_____可选定一个矩形块的内容。A、三击鼠标左键B、将鼠标移到该行左侧,变为大空心箭头,并拖动C、按住Alt键,并拖动鼠标D、按住Ctrl键,并拖动鼠标答案:C解析:在Word中,需要选

在某个Word文档窗口中进行了多次剪切操作,关闭了该文档窗口后,剪贴板中的内容为__

在某个Word文档窗口中进行了多次剪切操作,关闭了该文档窗口后,剪贴板中的内容为_____。A、第一次剪切的内容B、最后一次剪切的内容C、所有剪切的内容D、空白答案:B解析:在Windows环境下,在

知识大全 把网页生成word文档并提供下载

  在php中如何把中的内容生成到word文档中  php把中的内容生成到word文档中时不居中显示问题即会默认按照web视图进行显示  php把中的内容生成到word文档中时相关样式不兼容问题  正

知识大全 在PB中调用外部函数[2]

在PB中调用外部函数[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  例如对SCOTT用户的

知识大全 在PB中调用外部函数[1]

在PB中调用外部函数[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ORACLE数据库的P