本文介紹一種在Power Builder(以下簡稱為PB)中利用OLE把數據庫中的數據傳送到Word文檔的方法
通過這種方法
用戶可以根據需求而改變內容
以Word方式打印結果文檔
例如
在處理學生成績時
如果要將每個學生的成績報告生成Word文檔
不同的學生只改變姓名
學號和年度等數據
其他的格式不改變
只要從學生成績數據庫中調出特定數據
插入或替換到已經制作好的Word模版中
即可解決問題
一創建Word模版文檔
Word模板文檔的創建根據用戶的要求進行在固定的內容輸入完成後將需要變換內容(例如姓名年度系別和證書編號等)的位置輸入student_namestudent_yeardepartment以及student_id等編碼注意: 盡量使用英文來表示這些變量目的是避免某些漢字相同而造成的誤替換
在需要動態改變內容的位置不需要輸入文字可以通過插入書簽的方法實現具體操作如下首先選擇在Word中選擇插入*書簽彈出書簽對話框(如圖所示)在書簽名文本框中輸入書簽名稱後點擊添加按鈕即在當前光標位置上增加了一個書簽假設我們增加了個書簽分別是 nameyeardepartment以及id分別代表姓名年度系別以及證書編號
二PB實現方法
在窗體中新建一OLE控件在彈出的insert object屬性窗口的create new tab選項卡中選擇Microsoft Word 文檔選項點擊OK按鈕後將該控件放在窗體中適當位置PB系統會自動出現Microsoft Word應用程序將控件命名為OLE_Word並創建打開文件替換數據和存盤按鈕編寫如下代碼
.打開文件
string docname named
integer value
value = getfileopenname(Select Filedocname named
DOCDoc Files (*DOC)*DOC)
if value = THEN
// 將模版文件另存為實際操作文件(程序略)
if ole_Wordopen(docname)= then
ole_Wordactivate(inplace!)
end if
end if
這裡使用GetFileOpenName函數讓用戶自行選擇文件實際應用時可以進行條件的限定注意: 需要將模版文件另存為實際操作文件後再打開不能直接操作模版文件打開文件參數有種其中inplace表示在PB程序內部窗口調用Word部分提供Word的功能菜單; 另一種參數是offsite表示PB程序外啟動Word應用程序提供Word的所有功能菜單簡單的演示文檔如圖所示
[] [] []
From:http://tw.wingwit.com/Article/program/PB/201311/24577.html