51Testing软件测试论坛

标题: GetCellData取不到值啊? [打印本页]

作者: 海林    时间: 2006-11-10 16:32
标题: GetCellData取不到值啊?
zjf=Window("预算通 (石油钻井)").Window("四川.SYT").WinTable("TDrawGrid_2").GetCellData( 1,4)
msgbox  zjf
结果显示zjf为空,请问GetCellData怎么取不到值啊?单元格中是有值的。sdlkfj9
作者: denisye    时间: 2006-11-10 17:13
有时候你页面上看的1,4并不是程序里面真正的行列号

For i=1 to Browser("Data Dictionary List").Page("Data Dictionary List_2").WebTable("POMList").RowCount
For j=1 to Browser("Data Dictionary List").Page("Data Dictionary List_2").WebTable("POMList").ColumnCount(i)
data=Browser("Data Dictionary List").Page("Data Dictionary List_2").WebTable("POMList").GetCellData (i,j)
        data=i & j & ":" & data
         msgbox data
Next
Next

改一下上面的例子,应该就能让你找到你需要的值吧
作者: walker1020    时间: 2006-11-11 20:59
把你的代码改为下面的代码再试试看:

zjf=Window("预算通 (石油钻井)").Window("四川.SYT").WinTable("TDrawGrid_2").GetCellData( 1,4)
Typename(zjf)
msgbox(Typename(zjf))

提示:Typename(zjf) 是得到 zjf 变量的类型。

另外,GetCellData(M,N) 函数中的M和N可能并不是你在页面上的表格里看到的行号和列号。例如,有可能 M=2,N=5 才是你需要的。WinTable("TDrawGrid_2")这个表格的第一 行可能是标题,第一栏 可能是隐含的。 你可以通过反复调试来确定合适的M和N的值,这样才能通过GetCellData(M,N) 得到需要的数据。

[ 本帖最后由 walker1020 于 2006-11-11 21:02 编辑 ]
作者: 海林    时间: 2006-11-12 11:09
还是不行啊是不是qtp对delphi支持不好啊,脚本如下:
Window("每日提示").WinButton("关闭").Click
Window("预算通 (石油钻井)").WinMenu("Menu").Select "[F]文件;打开项目[O]"
Dialog("打开").WinListView("SysListView32").Activate "sys"
Dialog("打开").WinListView("SysListView32").Activate "四川.SYT"
wait(2)
For i=1 to Window("预算通 (石油钻井)").Window("四川.SYT").WinTable("TDrawGrid").RowCount
For j=1 to Window("预算通 (石油钻井)").Window("四川.SYT").WinTable("TDrawGrid").ColumnCount
data=Window("预算通 (石油钻井)").Window("四川.SYT").WinTable("TDrawGrid").GetCellData (i,j)
msgbox data
Next
Next
显示结果为空,有几列上有数据的,如果加上  data=i & j & ":" & data
语句话显示结果也不对啊?
作者: walker1020    时间: 2006-11-12 20:02
先用 Typename 函数 得到数据的类型再说。
作者: 海林    时间: 2006-11-13 08:51
也用了Typename(zjf)
msgbox(Typename(zjf))
语句,显示的是string啊?
作者: walker1020    时间: 2006-11-13 10:36
那就在 msgbox data 这行代码前面 增加 下面的一行代码后 再试试看看:
   data = CStr(data)

说明: 使用 CStr 函数进行强制类型转换。
作者: 海林    时间: 2007-1-16 14:26
谢谢
作者: at.1978    时间: 2007-3-9 17:00
问个简单的问题,在我的help里怎么找不到WinTable这个类呢?另外在qtp的object identification里也找不到啊,为什么呢?
我的qtp是试用版的有关系吗?
作者: xiaona580527    时间: 2010-6-8 16:30
原帖由 at.1978 于 2007-3-9 17:00 发表
问个简单的问题,在我的help里怎么找不到WinTable这个类呢?另外在qtp的object identification里也找不到啊,为什么呢?
我的qtp是试用版的有关系吗?


我现在也碰到这个问题~~
QTP10.0 Help仍然没有WinTable对象,但程序有WinTable对象,可是无法使用,要么提示“参数不对”,要么提示“调用Sub过程不能使用括号”等等奇怪的内容




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2