guoyang8013 发表于 2009-9-8 11:09:29

QTP output 到DataTable

我想要把一个变量a的值,永久性输出到dataTable的Global sheet上去,请问我应该怎么样写VBS,请各位大师,指点小弟下,O(∩_∩)O谢谢

bagwell333 发表于 2009-9-8 11:15:43

qtp运行时占用Global sheet,好像无法在一次脚本写入。
关注一下。

guoyang8013 发表于 2009-9-8 11:25:31

原帖由 bagwell333 于 2009-9-8 11:15 发表 http://bbs.51testing.com/images/common/back.gif
qtp运行时占用Global sheet,好像无法在一次脚本写入。
关注一下。

我想起来一种方法就是到用导Excel表格的方法。。。

zero0223 发表于 2009-9-8 11:39:54

datatable.import可以导入,但是数据时Run-Time存在,脚本结束就清空了,不过不影响数据处理。
datatable.Import("E:\2009-8-20.xls")'将要分析的报表导入DataTable中

如果你想永久导入,目前我只知道一个方法,就是在datatable中右键手工导。

[ 本帖最后由 zero0223 于 2009-9-8 11:43 编辑 ]

bagwell333 发表于 2009-9-8 11:45:48

没有手工介入,无法写回。因为qtp占用了,脚本结束后还是清空。

onlonely 发表于 2009-9-8 12:00:29

目前QTP没有这方面的函数,
任何写入datatable中的数据都是"运行时数据"停止后就消失了.

我可以提供一个写的函数给你,
不过目前有个缺点就是,必须你下次打开这个脚本后,你写入的数据才能在停止的时候更新.
也就是说,写入的数据可以在"运行时使用",在下次打开这个脚本后会显示出来,不过当前停止的时候,还无法看见.
函数如下:

参数:
Set_x,Set_y            需要写入datatable中那行,那列
Set_String            写入的内容

Sub Set_Global(Set_String,Set_x,Set_y)
Set setExcelObj = CreateObject("Excel.Application")   
setExcelObj.Visible = False                                       
Set setWorkBook = setExcelObj.Workbooks.Open(pathfinder.Locate("Default.xls"))
Set setSheet = setWorkBook.Sheets("Global")
setSheet.Cells(Set_x+1,Set_y) = Set_String
setWorkBook.Save
setWorkBook.close
DataTable.GlobalSheet.GetParameter(Set_y).ValueByRow(Set_x)= Set_String
End Sub

[ 本帖最后由 onlonely 于 2009-9-8 12:15 编辑 ]

fengzhanwang 发表于 2009-9-8 12:09:44

你可以先把变量a写到Global Sheet里面去,然后在把Global Sheet 用脚本导出到本地的一张excel里面。
试试这个语句:
DataTable.GlobalSheet.AddParameter "a", a
DataTable.Export ("D:/test report.xls")
运行的结果就会是,在test report这张表中有一个单元格a,它下面的单元格里面就会有你取得的变量的值。
页: [1]
查看完整版本: QTP output 到DataTable