PowerBuilder是面向對象的數據庫開發工具之一
它可以操縱很多大型數據庫和桌面數據庫
但它對中國式報表打印不太方便
而 Excel對此卻非常容易
若把兩者結合起來使用則可取長補短
建立一個Excel工作表以mxzxls為文件名保存
然後編寫腳本如下並執行
long handle_
handle_=openchannel(″excel″″mxzxls″) //建立與Excel的通道
setremote(″rc″″序號″″excel″″mxzxls″)
setremote(″rc″″摘要″″excel″″mxzxls″)
setremote(″rc″″收入″″excel″″mxzxls″)
setremote(″rc″″支出″″excel″″mxzxls″)
setremote(″rc″″余額″″excel″″mxzxls″)
setremote(″rc″″日期″″excel″″mxzxls″)
execremote(″[Save()]″″excel″″xmkxls″)
上述腳本執行後再打開mxzxls它變成了如圖的模樣
其實這段腳本用到了三個DDE客戶函數OpenChannel()SetRemote()和ExecRemote()其實掌握了這三個DDE函數就可以隨心所欲地寫出打印功能十分強大的PowerBuilder數據庫程序來
1OpenChannel()
它的功能是打開連接DDE服務器的通道
語法 OpenChannel ( applname topicname { windowhandle } )
參數
applnamestring類型指定DDE服務器應用的DDE名稱
topicnamestring類型指定命令中要使用的DDE應用的數據或實例
windowhandlelong類型可選項指明用作DDE客戶的PowerBuilder窗口的窗口句柄省略該參數時當前應用中的活動窗口用作DDE客戶
返回值long類型函數執行成功時返回一個正數作為已打開通道的句柄發生錯誤時返回下述值之一
- 打開失敗
- 句柄為NULL
示例 下面的代碼建立到Excel的DDE通道之後請求三個單元格的數據並把這些數據保存在數組s_regiondata中DDE會話的客戶端窗口為w_ddewin
long handle
[] [] []
From:http://tw.wingwit.com/Article/program/PB/201311/24566.html