我希望有很多很多的爱,如果没有很多的爱,我希望有很多很多的钱;没有很多的钱,我希望拥有健康! I am like the road in the night listening to the footfalls of its memories in silence.

[转]QTP读取Excel数据的方法

上一篇 / 下一篇  2008-08-24 16:36:38 / 个人分类:自动化测试

     在构建自己的测试框架时,或者是从Excel读入外部数据进行检查时都要用到Excel的COM对象编程方法,下面脚本中的ReadFile函数就实现了这样的功能,首先创建Excel应用程序对象,然后打开Excel文件,把Excel数据读取到一个数组中。


 一、读取函数


' 输入:
'             sFileName: Excel文件
'             sSheetName:表单名称
' 返回:
'             包含Excel数据的数组
Function ReadFile(sFileName,sSheetName)
       Dim oExcel
       Dim oSheet
       Dim oRange
       Dim arrRange
 
       On Error Resume Next
           ' 创建Excel应用程序对象
              Set ōExcel = CreateObject("Excel.Application")
              If err.Number <> 0 Then
                     MsgBox "未能初始化Excel" & vbCrLf & _
                                 "请确保Excel已安装", vbCritical
                     Exit Function
              End If
       On Error Goto 0
                    
       On Error Resume Next
                     ' 打开Excel文件
                     oExcel.Workbooks.Open(sFileName)
                  If err.Number <> 0 Then
                            MsgBox "未能加载Excel文件" & vbCrLf & _
                                   "请确保Excel文件路径正确或格式正确", vbCritical
                            Exit Function
                     End If
       On Error Goto 0
      
       ' 获取表格的使用范围
       Set ōSheet = oExcel.Worksheets(sSheetName).UsedRange
       ' 获取从A列到Z列,从第1行到第1000行的范围i中的所有值
       Set ōRange = oSheet.Range("A1:Z1000")
       '把Excel数据转换到数组
       arrRange = oRange.Value
       ' 关闭工作簿
       oExcel.WorkBooks.Item(1).Close
       ' 退出Excel
       oExcel.Quit
       Set ōExcel = Nothing
    ' 返回包含Excel数据的数组
     ReadFile = arrRange
End Function

二、调用

arrRange = ReadFile("D:\QTP\MyWork\ReadExcelFileTest1\ObjectTree.xls","Tree")
'Msgbox UBound (arrRange,1)
'Msgbox UBound (arrRange,2)
' 读取其中一个单元格的数据
Msgbox arrRange(3,1)


TAG: 自动化测试

 

评分:0

我来说两句

Open Toolbar