QTP 获取Excel数据
当我已经获取到Excel的数据,并返回到二位数组arrRange,那么我如何遍历这个二维数组呢?通过查找资料,使用了如下代码:
'遍历数据行
For I=1 to UBound(arrRange)
'遍历数据列
For J= 1 to UBound(arrRange,1)
Print arrRange(I,J)
Next
Next
最后运行时报错!
这个遍历方法是书《QTP 自动化测试进阶》陈技能 著
在第178页(P178) 单步跟踪一下不就知道了么 dim path,work,shell,o
set o=createobject("excel.application")
path="D:\q.xlsx"
set work=o.workbooks.open(path)
set shell=work.sheets("Sheet1")
r=shell.usedrange.rows.count
c=shell.usedrange.columns.count
msgbox(r)
msgbox(c)
for i=1 to r
for j=1 to c
msgbox shell.cells(i,j)
next
next
work.save
work.close
o.quit
set shell=nothing
set work=nothing
set o=nothing UBound用法:UBound(arrRange,num)
arrRange是数组,num是数组纬度,若num不输则默认为1,所以UBound(arrRange)和
UBound(arrRange,1)取的值是一样的,正确写法:
For I=1 to UBound(arrRange,1)
'遍历数据列
For J= 1 to UBound(arrRange,2)
Print arrRange(I,J)
Next
Next 回复 5# feiyunkai
今天才又登录论坛,看见你的回复,我会尝试下!谢谢 回复 4# kudianxin
谢谢,我会尝试下! 提示错误:下标越界...
看这意思是不是,指你遍历的范围超过了数组的范围,比如你数组里有4个值,但你现在要遍历5个值,那么下标会越界吧,
在UBound(arrRange)和UBound(arrRange,1)后面添加个-1,不知道行不行。 补上:原来提示说J下标越界,我搞错了...
页:
[1]