DW导出WORD

Wayne-XY 2015-12-28 09:38:18
如题。DW窗口导出EXCEL 代码很多,导出WORD的都试过不好使呢。我用的PB版本是12.6 OFFICE版本是2013版。请问谁能把代码粘给我试一下

想导出后格式跟DW里一样,求代码
...全文
828 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wayne-XY 2016-01-07
  • 打赏
  • 举报
回复
引用 9 楼 fm20027 的回复:
哦,也可以到下载频道中下载,我刚上传了。
非常感谢您的源码,导出成功了,再次感谢
fm20027 2016-01-04
  • 打赏
  • 举报
回复
哦,也可以到下载频道中下载,我刚上传了。
fm20027 2016-01-04
  • 打赏
  • 举报
回复
给个邮箱地址,我发给你一个函数。可以将datawindow内容转存为word。
qweasd2002 2015-12-29
  • 打赏
  • 举报
回复
http://wenku.baidu.com/link?url=aexRXQ822IapdnQ2j3zaqfQj611d_XXihumaYx0qCOiEsGUkl0t7p5zrXSHuuQInin3AL9bC8zQy4ohYqNHWhugrCKKhKgGOvzpTKZ2vJkW
jlwei888 2015-12-28
  • 打赏
  • 举报
回复
那就存成TXT,用WORD打开
Wayne-XY 2015-12-28
  • 打赏
  • 举报
回复
如果只有这个功能的话,你可以先弄一个word模版,格式定义好,然后直接把数据写入到word中[/quote]

integer li_rtn,i,j,m
string docname,named
integer f_cncharnum

li_rtn = GetFileSaveName("Select File", docname, named, "DOC", " Doc Files (*.DOC), *.DOC")

IF li_rtn = 1 THEN
//2 创建ole实例,并连接到word服务
oleobject ole_object
ole_object=create oleobject
integer li_ret
li_ret=ole_object.connecttoobject("","word.application")
if li_ret <> 0 then
li_ret=ole_object.connecttonewobject("word.application")
if li_ret <> 0 then
messagebox("ole 错误","ole无法连接! 错误号: " + string(li_ret))
return 0
end if
ole_object.visible= true
end if

//3 得到dw_1的行数和列数,还有列名
long ll_colnum,ll_rownum
string ls_colname[]
ll_colnum = Long(dw_1.object.datawindow.column.count)
ll_rownum = dw_1.rowcount()
for i = 1 to ll_colnum //得到数据列的名
dw_1.scrolltorow(1)
dw_1.setcolumn(i)
ls_colname[i]=trim(dw_1.GetColumnName())
next

//4 创建word文档和表
ole_object.Documents.Add() //新建word文件
ole_object.ActiveDocument.tables.add(ole_object.selection.range,ll_rownum,ll_colnum) //新建word文件的表

//5 输出表的标题
dw_1.setredraw(false)
string ls_title
// integer f_cncharnum
for i = 1 to ll_colnum //输出标题
ls_title=dw_1.describe(ls_colname[i] + "_t" + ".text")
ole_object.Selection.TypeText(ls_title)
for m = 1 to 10 // f_cncharnum(ls_title)
ole_object.Selection.TypeBackspace()
next
ole_object.selection.moveright(12)
next

//6 输出表的数据
string ls_value

for i = 1 to ll_rownum //输出数据到word文件
for j = 1 to ll_colnum
dw_1.scrolltorow(i)
dw_1.setcolumn(j)
ls_value = trim(dw_1.gettext())
ole_object.Selection.TypeText(ls_value)
for m = 1 to 10// f_cncharnum(ls_value) //取出字符串中的中文个数
ole_object.Selection.TypeBackspace()
next
// ole_object.Selection.TypeParagraph //加一回车
ole_object.selection.moveright(12) //跳到下一格
next
next
dw_1.setredraw(true)

//7 保存文档和销毁ole实例
ole_object.ActiveDocument.SaveAs(docname, 0,false,"",True,"",False,False,False, False,False)
ole_object.disconnectobject()
destroy ole_object

End if


/*

ole_object = CREATE OLEObject
li_ret = ole_object.ConnectToNewObject( "word.application" )
if li_ret < 0 then
MessageBox("连WORD文件失败!",string(li_ret))
ole_object.clear()
return
else
ole_object.Application.Documents.Open(ls_docname)//这些函数什么
ole_object.Application.Visible =false//的都从哪可以查阅到?
ole_object.application.Selection.WholeStory
ole_object.application.Selection.Copy
.......
end if
*/

我这从网上找到的代码,导出来后变成这样
WorldMobile 2015-12-28
  • 打赏
  • 举报
回复
引用 3 楼 zlt_wangyan 的回复:
[quote=引用 2 楼 lzp_lrp 的回复:] 先导出excel,然后再复制到word里
这个我有想过,这是个出诊表,以前就是在EXCEL里制作的,在复制到WORD模版里用大屏幕播放出来,我想做成软件后直接生成WORD,如果像您说的导出EXCEL 我就又变成以前的操作模式了[/quote] 如果只有这个功能的话,你可以先弄一个word模版,格式定义好,然后直接把数据写入到word中
Wayne-XY 2015-12-28
  • 打赏
  • 举报
回复
引用 2 楼 lzp_lrp 的回复:
先导出excel,然后再复制到word里
这个我有想过,这是个出诊表,以前就是在EXCEL里制作的,在复制到WORD模版里用大屏幕播放出来,我想做成软件后直接生成WORD,如果像您说的导出EXCEL 我就又变成以前的操作模式了
WorldMobile 2015-12-28
  • 打赏
  • 举报
回复
引用 楼主 zlt_wangyan 的回复:
如题。DW窗口导出EXCEL 代码很多,导出WORD的都试过不好使呢。我用的PB版本是12.6 OFFICE版本是2013版。请问谁能把代码粘给我试一下

想导出后格式跟DW里一样,求代码


用这个,dw2xls
http://download.csdn.net/detail/bangmaxo/4365010
WorldMobile 2015-12-28
  • 打赏
  • 举报
回复
先导出excel,然后再复制到word里

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧