100紧急分救助,关于dw中的数据转换为word后。。。。。
就是我把dw的显示数据转换到word中,然后发现dddw中的数据是以value的形式,而显示的是我想要的文字形式,我现在把查询的数据在sql server中用视图view做了个查询表,这样显示的数据就只有文字了,没有vlue值了,但是还是一样的转换代码,
为什么到word后,只有标题栏有文字,后面的具体表格中什么也没有,空空荡荡的,请问这是怎么回事
我讲转换代码click事件写下:
——————————————————————————————————————————————————
OLEObject ole_object
ole_object = CREATE OLEObject
//连接word
IF ole_object.ConnectToNewObject("Word.Application") <> 0 THEN
MessageBox('OLE错误','OLE无法连接!')
return
END IF
ole_object.Visible = True
long ll_colnum,ll_rownum
constant long wdTableBehavior = 1
constant long wdAutoFitFixed = 0
constant long wdCell = 12
string ls_value
//得到数据窗口数据的列数与行数(行数应该是数据行数 + 1)
ll_colnum = Long(dw_1.object.datawindow.column.count)
ll_rownum = dw_1.rowcount() + 1
ole_object.Documents.Add("C:\WINDOWS\Application Data\Microsoft\Templates\Normal.dot",False,0)
ole_object.ActiveDocument.Tables.Add(ole_object.Selection.Range, ll_rownum, ll_colnum,wdTableBehavior, &
wdAutoFitFixed)
string ls_colname
integer i,j,k
for i = 1 to ll_colnum
//得到标题头的名字
ls_colname = dw_1.describe('#' + string(i) + ".name") + "_t"
ls_value = dw_1.describe(ls_colname + ".text")
ole_object.Selection.TypeText(ls_value)
ole_object.Selection.MoveRight(wdCell)
next
dw_1.setredraw(false)
ole_object.Selection.MoveLeft(wdCell)
for i = 2 to ll_rownum
for j = 1 to ll_colnum
dw_1.scrolltorow(i - 1)
dw_1.setcolumn(j)
ls_value = dw_1.gettext()
ole_object.Selection.MoveRight(wdCell)
ole_object.Selection.TypeText(ls_value)
next
next
dw_1.setredraw(true)
constant long wdFormatDocument = 0
//保存新建的文档
ole_object.ActiveDocument.SaveAs("e:\pb_yan\明细表.doc", 0,False,"",True,"",False,False,False, False,False)
//断开OLE连接
Ole_Object.DisConnectObject()
Destroy Ole_Object