成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在PB中實現Word內容的替換

運維 數據庫運維
隨著技術的發展進步,數據庫性能有了很大程度的提高,在PB中可以實現WORD內容的替換,本本文將為大家介紹實現在PB中實現Word內容的替換的方法步驟。

導讀:本文介紹一種在Power Builder(以下簡稱為PB)中利用OLE把數據庫中的數據傳送到Word文檔的方法。通過這種方法,用戶可以根據需求而改變內容,以Word方式打印結果文檔。例如,在處理學生成績時,如果要將每個學生的成績報告生成Word文檔,不同的學生只改變姓名、學號和年度等數據,其他的格式不改變。只要從學生成績數據庫中調出特定數據,插入或替換到已經制作好的Word模版中,即可解決問題。可見這樣就能很大程度上簡便操作。下面就是實現WORD轉換的步驟。

一、創建Word模版文檔

  Word模板文檔的創建根據用戶的要求進行,在固定的內容輸入完成后,將需要變換內容(例如姓名、年度、系別和證書編號等)的位置輸入“student_name”、“student_year”、“department”以及“student_id”等編碼。注意: 盡量使用英文來表示這些變量,目的是避免某些漢字相同而造成的誤替換。

  在需要動態改變內容的位置,不需要輸入文字,可以通過插入書簽的方法實現,具體操作如下。首先,選擇在Word中,選擇“插入”*“書簽”,彈出“書簽”對話框(如圖1所示)。在“書簽名”文本框中輸入書簽名稱后,點擊“添加”按鈕,即在當前光標位置上增加了一個書簽。假設我們增加了4個書簽,分別是 name、year、department以及id,分別代表姓名、年度、系別以及證書編號。

 

 

二、PB實現方法

  在窗體中新建一OLE控件,在彈出的“insert object”屬性窗口的“create new tab”選項卡中選擇“Microsoft Word 文檔”選項,點擊“OK”按鈕后將該控件放在窗體中適當位置,PB系統會自動出現Microsoft Word應用程序。將控件命名為“OLE_Word”,并創建“打開文件”、“替換數據”和“存盤”按鈕,編寫如下代碼。

1.打開文件

string docname, named
integer value
value = getfileopenname("Select File",docname, named,
"DOC","Doc Files (*.DOC),*.DOC")
if value = 1 THEN
// 將模版文件另存為實際操作文件(程序略)
if ole_Word.open(docname)=0 then
ole_Word.activate(inplace!)
end if
end if

  這里使用“GetFileOpenName”函數讓用戶自行選擇文件,實際應用時可以進行條件的限定。注意: 需要將模版文件另存為實際操作文件后再打開,不能直接操作模版文件。打開文件參數有2種,其中“inplace”表示在PB程序內部窗口調用Word,部分提供Word的功能菜單; 另一種參數是“offsite”,表示PB程序外啟動Word應用程序,提供Word的所有功能菜單。簡單的演示文檔如圖2所示。

 

 

2.插入或替換操作

(1)替換數據法

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,1,true,ls_replace_string,2)
//替換student_year,department,student_id的程序與替換student_name相同,略

其運行結果如圖3所示。

 

 

(2)插入數據法

  除了使用查找替換方式,您還可以使用書簽方式來實現上述操作。
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 = 1 to 10
//消除非法字符
ole_Word.object.application.Selection.TypeBackspace()
next
ELSE//錯誤提示
END IF
//定位書簽year,department,id一樣,略

注意事項:

1.一定要判斷書簽是否存在,如果書簽不存在,進行以上操作將導致系統錯誤。
2.因為漢字雙字節問題,PB 6.5中每插入一個漢字后會在后面產生一非法字符,需要判斷漢字個數來決定調用“TypeBackspace()”的次數。上面涉及的10次循環次數是舉例說明,實際編程要使用變量替代。
  上面的2種方法各有利弊,插入數據方式設計思想簡單,操作容易,控制也比較方便,但不適合多處插入同一內容,并且需要刪除產生的非法字符; 而替換方式只調用一個函數,可以搜索整個文檔替換同一內容,并不產生非法字符,但有可能替換掉不該替換的內容,但是涉及的參數太多,不易記住。

3.存盤

ole_Word.save()
ole_Word.clear()

注: 上述代碼在Windows 98 + Power builder 6.5中測試通過

按照上文中介紹的步驟進行操作,就能實現在PB中實現Word內容的替換,給大家的工作帶來很多方便,希望上文中講到的內容對大家能夠有所幫助。
 

【編輯推薦】

  1. WordPress的18條必備SQL操作語句
  2. PB內置Oracle數據庫接口的使用方法
  3. PB應用ODBC訪問不同數據庫

 

責任編輯:迎迎 來源: 希賽網
相關推薦

2009-08-25 18:16:34

.NET操作Word

2023-10-08 07:40:29

2009-07-27 09:20:13

替換Sys.ServiASP.NET

2010-03-02 09:38:16

Java熱替換

2009-09-01 13:25:25

C#Word文檔替換

2009-12-25 16:54:47

ADSL接入網

2009-07-09 16:12:53

WeblogicJDBC

2020-06-23 14:51:13

JavaScript字符字符串

2021-08-11 08:35:38

Word文件開發代碼

2009-06-26 16:21:22

Oracle自動增長Hibernate

2009-07-01 09:17:36

對象比較Java

2021-11-26 10:08:57

鴻蒙HarmonyOS應用

2009-12-28 17:17:52

WPF導航

2024-01-29 00:57:20

GuavaJava拷貝

2009-09-01 11:21:02

C#讀取word內容

2009-11-26 17:16:38

PHP函數str_re

2021-04-25 08:24:10

Linux系統Adobe全家桶Office套件

2021-10-26 10:28:41

開發架構Kubernetes

2009-07-02 09:25:41

JSP實現頁面跳轉

2011-06-13 17:46:07

Qt 串口通信
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: xxxxx免费视频 | 激情六月丁香婷婷 | 亚洲一一在线 | av中文字幕在线观看 | 蜜桃视频在线观看免费视频网站www | 黄色大片免费网站 | 欧美精品在线一区二区三区 | 秋霞av国产精品一区 | 亚洲成人av一区二区 | 中文字幕三区 | 丁香婷婷综合激情五月色 | 爱爱视频在线观看 | 中文字幕在线观看第一页 | 国产欧美精品一区二区 | 精品久久影院 | 欧美在线a | 噜噜噜色网 | av黄色片 | 成人激情视频在线播放 | 一级黄色日本片 | 91精品国产色综合久久 | 精品国产伦一区二区三区观看说明 | www.亚洲精品 | 日韩在线视频免费观看 | 亚洲三级在线 | 国产中文视频 | 欧美片网站免费 | 成人福利在线 | 一区二区三区四区不卡视频 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 麻豆久久久久 | 北条麻妃99精品青青久久主播 | 色婷婷久久久久swag精品 | 欧美一区二区三区在线 | 美国av毛片| 国产线视频精品免费观看视频 | 国产欧美在线 | 久久av.com| 久久av一区| 亚洲欧美一区二区三区视频 | 97人人澡人人爽91综合色 |