古詩詞大全網 - 個性簽名 - 在PB中實現Word內容的替換[1]

在PB中實現Word內容的替換[1]

本文介紹壹種在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的所有功能菜單 簡單的演示文檔如圖 所示

lishixinzhi/Article/program/PB/201311/24577