致力于测试团队建设和自动化测试开发,欢迎有兴趣者一起研究讨论
QTP读取Excel数据的方法
上一篇 /
下一篇 2008-06-29 12:25:00
/ 个人分类:QTP
在构建自己的
测试框架时,或者是从Excel读入外部数据进行检查时都要用到Excel的COM对象编程方法,下面脚本中的ReadFile函数就实现了这样的功能,首先创建Excel应用程序对象,然后打开Excel文件,把Excel数据读取到一个数组中。
51Testing软件测试网-j6v3V [7mwV^7xV)?7AP 51Testing软件测试网3o7cA7xPgarrRange = ReadFile("D:\QTP\MyWork\ReadExcelFileTest1\ObjectTree.xls","Tree")
v`z]N%fH0'Msgbox UBound (arrRange,1)
7i4E7y$~U0'Msgbox UBound (arrRange,2)
-l$L fR-k3h0G#uI0' 读取其中一个单元格的数据
51Testing软件测试网wz-N3n%b1Nz_-]/b
?Msgbox arrRange(3,1)
51Testing软件测试网x-X$Gt-v~;~"P 51Testing软件测试网iVn4o x { 51Testing软件测试网diX6VZEb g' 输入:
51Testing软件测试网Mr)FY7R&Y' sFileName: Excel文件
51Testing软件测试网2bs*r1rS' sSheetName:表单名称
2i"o$q])e.e0' 返回:
51Testing软件测试网Tf
k:[5U1CSNt' 包含Excel数据的数组
_
X.})db'f1G
v0Function ReadFile(sFileName,sSheetName)
51Testing软件测试网#Gnlr.M:A Dim oExcel
"^ru{6K{0 Dim oSheet
)D)y(X@t|E g c0 Dim oRange
1H\/Do2xy
Zy0 Dim arrRange
!kni0rc7S-P_0 51Testing软件测试网 }1M0Gp/t~5h? On Error Resume Next
l G_ZtC_ k&m0 ' 创建Excel应用程序对象
HHfJ
L @V`3U0 Set ōExcel = CreateObject("Excel.Application")
WH2zp8|]Yu0 If err.Number <> 0 Then
$N{/Z+\b-}l0 MsgBox "未能初始化Excel" & vbCrLf & _
+A@!M/`_2l$u)f0 "请确保Excel已安装", vbCritical
51Testing软件测试网-m
H7BH*K*i!F Exit Function
51Testing软件测试网)m%kxz"SLJX8YTj~ End If
51Testing软件测试网3S6pO+~3}g On Error Goto 0
5nE RfN$t3i4w0 51Testing软件测试网ACg
g;f#@?9t On Error Resume Next
51Testing软件测试网F0A3mh#H+^G ' 打开Excel文件
&w5w BI$zFx0 oExcel.Workbooks.Open(sFileName)
!k L[k.}$mDf0 If err.Number <> 0 Then
2XSYa*KJ*Z0 MsgBox "未能加载Excel文件" & vbCrLf & _
g6k,Ek8L,I0 "请确保Excel文件路径正确或格式正确", vbCritical
51Testing软件测试网*CM5@fj Q Exit Function
51Testing软件测试网K3Df\!Fz End If
];Oxt:| p$f-m"Q0 On Error Goto 0
51Testing软件测试网HMAGs!O 51Testing软件测试网 u?9v,kb ' 获取表格的使用范围
51Testing软件测试网X+Ru:V;m^A6m#n Set ōSheet = oExcel.Worksheets(sSheetName).UsedRange
51Testing软件测试网-f1\ n,Vb
Y6k3U ' 获取从A列到Z列,从第1行到第1000行的范围i中的所有值
5K#\}
|~(L0 Set ōRange = oSheet.Range("A1:Z1000")
51Testing软件测试网%EI:kH)\VA1sM '把Excel数据转换到数组
*yWQ3C`+j,YEy0 arrRange = oRange.Value
51Testing软件测试网#w$^ R+oC5A ' 关闭
工作簿
51Testing软件测试网u0g.E%_$d@ oExcel.WorkBooks.Item(1).Close
5nFd)u2]3ZR(r0 ' 退出Excel
51Testing软件测试网o
~!v2r#i~0A8c2K oExcel.Quit
51Testing软件测试网i_0d9y,C;|I Set ōExcel = Nothing
^(uO-R Z_/p^ V0 ' 返回包含Excel数据的数组
)cH/E}p&Q%QN!d0 ReadFile = arrRange
51Testing软件测试网J7o'z,W&ENSSEnd Function
9A
gD3w `2S0
收藏
举报
TAG:
QTP