致力于测试团队建设和自动化测试开发,欢迎有兴趣者一起研究讨论

QTP读取Excel数据的方法

上一篇 / 下一篇  2008-06-29 12:25:00 / 个人分类:QTP

在构建自己的测试框架时,或者是从Excel读入外部数据进行检查时都要用到Excel的COM对象编程方法,下面脚本中的ReadFile函数就实现了这样的功能,首先创建Excel应用程序对象,然后打开Excel文件,把Excel数据读取到一个数组中。
!E A` WF P#Q0 51Testing软件测试网6nA5L;Qt$G5Pu]
arrRange = ReadFile("D:\QTP\MyWork\ReadExcelFileTest1\ObjectTree.xls","Tree")
D:b.B'v a'X'v/z0'Msgbox UBound (arrRange,1)
!AY"ES@.D+C/c;?Lu0'Msgbox UBound (arrRange,2)
*I O0Z!sp)|$B0' 读取其中一个单元格的数据51Testing软件测试网6il3yC|L6A
Msgbox arrRange(3,1)51Testing软件测试网;pj*Iw ? Y x
 
*b&j9UU7Ne0 51Testing软件测试网n tH-aX'Tz
' 输入:51Testing软件测试网2ftu N#v"@~/E#\8@
'             sFileName: Excel文件51Testing软件测试网!]j8oZ1_'P
'             sSheetName:表单名称
t%e.Rc$|!I0' 返回:
;wDo ~%{0'             包含Excel数据的数组
+b | BKT#C0Function ReadFile(sFileName,sSheetName)
IQ2VH*I,] d.iRx0       Dim oExcel
W"pN1ph-m'k0       Dim oSheet51Testing软件测试网m BcRC'E/a
       Dim oRange
F7^;} F9T,IpO0       Dim arrRange51Testing软件测试网H Q2jxd+wm
 51Testing软件测试网3@+om^X I
       On Error Resume Next
-xe sG#u2d0           ' 创建Excel应用程序对象
{a,Q"yoo0              Set ōExcel = CreateObject("Excel.Application")51Testing软件测试网^X I;x$h(Y!d
              If err.Number <> 0 Then51Testing软件测试网6z5bta\/]7I"D3I
                     MsgBox "未能初始化Excel" & vbCrLf & _51Testing软件测试网c0A](@0AT]s1U$B
                                 "请确保Excel已安装", vbCritical51Testing软件测试网&@A`(F9o}@+C h!V){
                     Exit Function
/d C2b` cp0              End If51Testing软件测试网,O.nd5^#Ys\'Z!K4N
       On Error Goto 0
S|2u$\RceQY0                    51Testing软件测试网3pS\&IF
       On Error Resume Next51Testing软件测试网)@"?gkB%S:C
                     ' 打开Excel文件
*i w4M'o!x e,}0                     oExcel.Workbooks.Open(sFileName)51Testing软件测试网'R.k&s2q+{"c
                  If err.Number <> 0 Then51Testing软件测试网:[c0O:c2c
                            MsgBox "未能加载Excel文件" & vbCrLf & _
3IEx!mX W6s)| G0                                   "请确保Excel文件路径正确或格式正确", vbCritical51Testing软件测试网N ZyRpEZT?
                            Exit Function51Testing软件测试网LCi%p;Y Hfx w
                     End If
sQCw9Dn'Ff+G0       On Error Goto 051Testing软件测试网6I!nd M1lI'~'^E2l
      51Testing软件测试网KMb*Hf
       ' 获取表格的使用范围
2Q#~?j/JI0       Set ōSheet = oExcel.Worksheets(sSheetName).UsedRange51Testing软件测试网.Z0X(hOe#P#^
       ' 获取从A列到Z列,从第1行到第1000行的范围i中的所有值
&jY Y!d/y1B_a0       Set ōRange = oSheet.Range("A1:Z1000")51Testing软件测试网3^%V`$c%R]!\m)|
       '把Excel数据转换到数组51Testing软件测试网9H^_7kF'JBx
       arrRange = oRange.Value51Testing软件测试网h4f&tK&d z6N0y
       ' 关闭工作簿
z`Y+S(w;_jXGWG0       oExcel.WorkBooks.Item(1).Close51Testing软件测试网h [0I~a8[2`?8Q }|
       ' 退出Excel51Testing软件测试网?*\ bbE&c@
       oExcel.Quit51Testing软件测试网 PtW'ua
       Set ōExcel = Nothing51Testing软件测试网H7M h.q ktM*^\
    ' 返回包含Excel数据的数组51Testing软件测试网S\l{1D+e)O
     ReadFile = arrRange
-|N1a#_ Lq0End Function51Testing软件测试网8\ M6H\2]

TAG: QTP

 

评分:0

我来说两句

日历

« 2024-02-16  
    123
45678910
11121314151617
18192021222324
2526272829  

数据统计

  • 访问量: 90408
  • 日志数: 79
  • 图片数: 1
  • 建立时间: 2008-05-18
  • 更新时间: 2009-06-04

RSS订阅

Open Toolbar