问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在PB中实现Word内容的替换

发布网友 发布时间:2023-07-26 08:04

我来回答

1个回答

热心网友 时间:2024-08-31 06:44

  本文介绍一种在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()

lishixin/Article/program/SQL/201311/16393
在PB中实现Word内容的替换[1]

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

我也用PB实现类似于WORD中的查找替换功能,请问该怎么做?

global function string gf_replace (ref string as_source, string as_old, string as_new);//gf_replace //功能:在一个字符串(ls_temp)中将一字符串(as_old)替换成另一个字符串(as_new)//返回:被替换成功后的字符串 string ls_temp long ll_pos=1 ls_temp = as_source // Find...

...如何批量处理选择题答案纵向选项变成横向word文档怎么把选择题答案横...

1. 打开Word文档,按下Ctrl+H打开“查找和替换”对话框。2. 在“查找内容”框中输入“^pB.”,在“替换为”框中输入“B.”。3. 点击“全部替换”按钮,将所有纵向选项改为横向。4. 如果需要将横向选项改为纵向,可以在“查找内容”框中输入“^lB.”,在“替换为”框中输入“B.”。5. 点击...

求助,PB帮助文档的问题

通常设为NULL LPCSTR lpDirectory, //指定默认目录,通常设为NULL INT nShowCmd //文件打开的方式,以通常方式还是最大化或最小化显示,一般为SW_SHOWNORMAL ) 2、用pb中word的函数操作word文档,可以参考olebrowser里面的函数说明,pb里面就可以查看的 来这里看看吧,有点用的,pb嵌入word的hi/pbzzf...

PB中如何读取本地中word文档中内容

可以用vba录一段,看一下怎么样操作word中内容,然后用ole的方法,模拟vba的操作,把内容复制出来。另外,也可以把word文档存为纯文本文件,再用word对这 个纯文本文件进行操作。具体的就需要自己试一下了。

求PB通过OLE来显示WORD文档的方法

//文件打开的方式,以通常方式还是最大化或最小化显示,一般为SW_SHOWNORMAL )2、用pb中word的函数操作word文档,可以参考olebrowser里面的函数说明,pb里面就可以查看的 来这里看看吧,有点用的,pb嵌入word的http://hi.baidu.com/pbzzfbbs/blog/item/1b8614354efeda3d5ab5f57e.html ...

PB 连接word的内部判断处理机制是什么

可以用vba录一段,看一下怎么样操作word中内容,然后用ole的方法,模拟vba的操作,把内容复制出来。另外,也可以把word文档存为纯文本文件,再用word对这个纯文本文件进行操作。具体的就需要自己试一下了。

word里的格式

但能用(亲自测了下)。原来是这样的:使用Word里面的替换功能,这里主要用到^p(^就是英文状态下的shift+6),见下图:这里替换为“^pB、”表示在“B、”前面加一个回车(^p在这里表示换行符),看效果:其他几个同理,希望对你有帮助。参考自:Word查找和替换使用详解/高逼格用法(通配符)

word 四行选项 弄成两行的 批量处理

若四个选项是A,B,C,D可以这样操作:Ctrl+H,查找内容:^pB,替换为: B,注意替换为: B的B前面有个空格,全部替换,这样A,B的选项就在一行了;再查找内容:^pD,替换为: D,注意替换为: D的D前面有个空格,全部替换,这样C,D的选项就在一行了,就实现了四行选项弄成两行的批量处理。

word排版,怎样才能把文档中大量的四行变成一行?

^p 代表回车,可以用 查找/替换 功能。用 ctrl+F 调出它。在替换中,分别把 ^pb 替换成 b , ^pc 替换成 c , ^pd 替换成 d 就行了。只要替换三次。

word的替换功能不可以实现 批量替换多个word的同一内容 表格内容替换怎么替换 批量替换word内容 word查找和替换功能可以实现 不同内容的批量替换 如何替换表格内部分内容 表格不同的内容怎么替换 word里面替换功能在哪
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
织田n.on汉化合集百度云 织田信奈的野望百度云简体字幕高清速发速采纳 穿越火线手机版怎么申请土豪的号 各位 谁能给我刷级别啊 我玩穿越火线的 要求刷到最高级别的 穿越火线枪战王者牛逼号密码账号 穿越火线土豪号2015年求不玩cf的土豪送给我一个号 ...干姜,甘草,元胡,佛手,鸡内金,红参,白芍,桂枝,大枣,生 过生日早上从楼梯摔下来有什么征兆 为什么无线路由器绿灯一直闪? 今天早上下楼梯的时候,脚一下踩空,摔下去了,当时很痛... 肉肉的花瓣中间是菊花的是什么花 叶子像菊花的植物,不开花。是什么?_?如图 像菊花肉叶子是什么花 为什么要删除微信好友? 为什么要在微信删除好友? 如何礼貌地删除微信好友? 男人穿什么内裤好三角裤,四角裤 立即充电游戏怎么打开 游戏掌机如何充电 优斗游戏机在哪充电恶狼游戏 如何充电游戏免广告版 忠县排风扇包安装吗 线性代数问题:设A是n阶反对称矩阵,证明(E-A)(E A)^(-1)是正交矩阵.? 反对称矩阵的性质 换气扇安装上门服务电话 ...I可逆,B=(A+I)(A-I)^-1 . 证明B是反对称矩阵 “正交矩阵一定是正定矩阵”错,求理由,反例也行,详细,谢谢 某污水处理厂沉井施工组织设计方案? 电子邮件地址在哪查看 山东污水处理厂施工组织设计方案? 语言描写推动剧情发展的作文600字。可以自己想也可以帮我从百度找_百度... 对于有突出危险煤层应采取()等区域性防治突出措施 四川大巴被飞石砸中8死16伤,如何规划一条安全的旅游路线? 相对论是否正确 你觉得爱因斯坦的相对论是真的吗? 相对论对不对 相对论已经被证实是正确的吗 相对论是错误的吗,还是它并不完善 工厂有两股东,各占60%、40%的股份,现准备减资后各占50%股份,请问减资... 悦跑圈为什么一直运行 悦跑圈不能更新附近跑步热线 公司故意安加罪名给员工合法吗? ...华为手机了因为这个公司是流氓公司,他们在手机系统安装恶意费... 如何防范内部恶意人员,有效保证企业信息安全 流氓软件恶意安装软件该怎么应对?恶意程序强制安装如何清理 这是什么虫,厨房见到的。 燃气报警器按在灶台下液化气瓶上方可以吗? 财政支出范围主要包括 坐公交车从奥德燃气去南坊市政府大楼怎么走 天河区小学上学时间