POWERBUILDER DDE与excel,通讯

来源:互联网 发布:贴面膜后要洗脸吗 知乎 编辑:程序博客网 时间:2024/05/01 12:50

POWERBUILDER是面向对象数据库开发工具之一,它可以操纵众多大型数据库和桌面数据库,支持多种硬件平台。但它有一个致命的弱点,就是打印报表非常不方便,打印函数太少,特别是对中国式报表。而 EXCEL制表却非常容易,若把两者结合起来使用则会取长补短。本人通过实践,顺利地把两者结合起来。首先用 POWERBUILDER制作一窗口w_excel,然后在窗口中建立一个数据窗口dw_excel和三个按钮cb_saveas、cb_start、cb_print。同时编写脚本为:

  1.cb_saveas的脚本为:

  saveas(w_excel.dw_excel, ″c:/jycf/xmk.xls″, excel!, true)

  2.cb_start的脚本为:

  run(″c:/program files/microsoft office/office/excel.exe xmk.xls″,maximized!)

  3.cb_print的脚本为:

  long handle_1

  handle_1=openchannel(″excel″,″xmk.xls″) ′建立与EXCEL的通道

  setremote(″r2c1″,″序号″,″excel″,″ xmk.xls″)

  setremote(″r2c2″,″摘要″,″excel″,″ xmk.xls″)

  setremote(″r2c3″,″收入″,″excel″,″ xmk.xls″)

  setremote(″r2c4″,″支出″,″excel″,″ xmk.xls″)

  setremote(″r2c5″,″余额″,″excel″,″ xmk.xls″)

  setremote(″r2c6″,″日期″,″excel″,″ xmk.xls″)

  //更改某一行或某一列的值,同时关闭通道

  closechannel(handle_1,handle(w_excel))

  string str_print

  str_print=″[print()]″

  execremote(str_print,″excel″,″xmk.xls)

  这样一来,就把两者有机地结合起来。

原创粉丝点击