QTP学习笔记--Excel数据源

直接读取Excel表格的function摘自此处http://www.51testing.com/html/40/307440-827863.html  特此感谢!

Excel作为QTP自动化测试的数据源,有两种方式可应用到脚本中

一、导入到DataTable中

1 ImportData("Login")
2 Function ImportData(SheetName)
3 DataTable.ImportSheet Environment.Value("TestDir")&"\TestData.xls",SheetName,"Global"
4 End Function

说明:ImportSheet的第二个参数可用Sheet编号,从1开始

        QTP11不支持word2007及以上的Excel文件(.xlsx)

二、使用Excel COM直接读取Excel

 1 '========================================
 2 '名     称:QTP_ReadExcel
 3 '作     用:从Excel读数据
 4 '参     数:sFileName:EXCEL文件名     sSheetName:Sheet表名
 5 '返回值:把EXCEL变为2维数组返回(第一行为数据表列名)
 6 '========================================
 7 Function QTP_ReadExcel(sFileName,sSheetName)
 8        Dim oExcel
 9        Dim oSheet
10        Dim oRange
11        Dim arrRange
12 
13        On Error Resume Next
14       ' 创建Excel应用程序对象
15        Set  oExcel = CreateObject("Excel.Application")
16               If err.Number <> 0 Then
17                      MsgBox "未能初始化Excel" & vbCrLf & "请确保Excel已安装", vbCritical
18                      Exit Function
19               End If
20        On Error GoTo 0
21 
22        On Error Resume Next
23       ' 打开Excel文件
24        oExcel.Workbooks.Open(sFileName)
25         If err.Number <> 0 Then
26                MsgBox "未能加载Excel文件" & vbCrLf & "请确保Excel文件路径正确或格式正确", vbCritical
27                Exit Function
28         End If
29        On Error GoTo 0
30 
31        ' 获取表格的使用范围
32        Set  oSheet = oExcel.Worksheets(sSheetName).UsedRange
33       ' 获取从A列到Z列,从第1行到第1000行的范围i中的所有值
34        Set  oRange = oSheet.Range("A1:Z1000")
35       '把Excel数据转换到数组
36        arrRange = oRange.Value
37       ' 关闭工作簿
38        oExcel.WorkBooks.Item(1).Close
39 
40        ' 退出Excel
41        oExcel.Quit
42        Set  oExcel = Nothing
43        ' 返回包含Excel数据的数组
44        QTP_ReadExcel = arrRange
45 End Function
posted @ 2013-12-05 22:03  花海子  阅读(421)  评论(0编辑  收藏  举报