QTP output 到DataTable
我想要把一个变量a的值,永久性输出到dataTable的Global sheet上去,请问我应该怎么样写VBS,请各位大师,指点小弟下,O(∩_∩)O谢谢 qtp运行时占用Global sheet,好像无法在一次脚本写入。关注一下。 原帖由 bagwell333 于 2009-9-8 11:15 发表 http://bbs.51testing.com/images/common/back.gif
qtp运行时占用Global sheet,好像无法在一次脚本写入。
关注一下。
我想起来一种方法就是到用导Excel表格的方法。。。 datatable.import可以导入,但是数据时Run-Time存在,脚本结束就清空了,不过不影响数据处理。
datatable.Import("E:\2009-8-20.xls")'将要分析的报表导入DataTable中
如果你想永久导入,目前我只知道一个方法,就是在datatable中右键手工导。
[ 本帖最后由 zero0223 于 2009-9-8 11:43 编辑 ] 没有手工介入,无法写回。因为qtp占用了,脚本结束后还是清空。 目前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 编辑 ] 你可以先把变量a写到Global Sheet里面去,然后在把Global Sheet 用脚本导出到本地的一张excel里面。
试试这个语句:
DataTable.GlobalSheet.AddParameter "a", a
DataTable.Export ("D:/test report.xls")
运行的结果就会是,在test report这张表中有一个单元格a,它下面的单元格里面就会有你取得的变量的值。
页:
[1]