//------------word text---------------//
通过ole技术,将datawindow(grid形式)的数据输出到word文档
integer li_rtn,i,j,m
string docname,named
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
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 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 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 OLEObjec
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
- 1
- 2
- 3
前往页