偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

在PB中實現(xiàn)Word內容的替換

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

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

一、創(chuàng)建Word模版文檔

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

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

 

 

二、PB實現(xiàn)方法

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

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

 

 

2.插入或替換操作

(1)替換數(shù)據(jù)法

string ls_find_string,ls_replace_string
//取數(shù)據(jù)庫中數(shù)據(jù)賦值變量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)插入數(shù)據(jù)法

  除了使用查找替換方式,您還可以使用書簽方式來實現(xiàn)上述操作。
string ls_name,ls_year,department,ls_id
//取數(shù)據(jù)庫中數(shù)據(jù)賦值變量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.一定要判斷書簽是否存在,如果書簽不存在,進行以上操作將導致系統(tǒng)錯誤。
2.因為漢字雙字節(jié)問題,PB 6.5中每插入一個漢字后會在后面產(chǎn)生一非法字符,需要判斷漢字個數(shù)來決定調用“TypeBackspace()”的次數(shù)。上面涉及的10次循環(huán)次數(shù)是舉例說明,實際編程要使用變量替代。
  上面的2種方法各有利弊,插入數(shù)據(jù)方式設計思想簡單,操作容易,控制也比較方便,但不適合多處插入同一內容,并且需要刪除產(chǎn)生的非法字符; 而替換方式只調用一個函數(shù),可以搜索整個文檔替換同一內容,并不產(chǎn)生非法字符,但有可能替換掉不該替換的內容,但是涉及的參數(shù)太多,不易記住。

3.存盤

ole_Word.save()
ole_Word.clear()

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

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

【編輯推薦】

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

 

責任編輯:迎迎 來源: 希賽網(wǎng)
相關推薦

2009-08-25 18:16:34

.NET操作Word

2009-09-01 13:25:25

C#Word文檔替換

2023-10-08 07:40:29

2009-07-27 09:20:13

替換Sys.ServiASP.NET

2010-03-02 09:38:16

Java熱替換

2009-12-25 16:54:47

ADSL接入網(wǎng)

2009-07-09 16:12:53

WeblogicJDBC

2021-08-11 08:35:38

Word文件開發(fā)代碼

2020-06-23 14:51:13

JavaScript字符字符串

2009-09-01 11:21:02

C#讀取word內容

2009-06-26 16:21:22

Oracle自動增長Hibernate

2009-07-01 09:17:36

對象比較Java

2021-11-26 10:08:57

鴻蒙HarmonyOS應用

2024-01-29 00:57:20

GuavaJava拷貝

2009-12-28 17:17:52

WPF導航

2009-11-26 17:16:38

PHP函數(shù)str_re

2025-02-12 00:35:24

WinForm框架工具

2009-03-23 10:32:47

SQLServer數(shù)據(jù)庫數(shù)據(jù)類型

2009-09-11 08:47:03

Linux系統(tǒng)批量替換文件Linux

2021-04-25 08:24:10

Linux系統(tǒng)Adobe全家桶Office套件
點贊
收藏

51CTO技術棧公眾號