QTP的那些事--操作excel的方法总结(可用)

对于QTP自动的usingExcel.vbs文件进行了相关的整理,使其更加适合自己的使用:

QC 运行 QTP 脚本是不带参数的,因此当我们构建自己的框架,需要灵活配置一些东西的时候,需要在QTP中读取外部文件,清除和准备数据时需要操作数据库。

下面是简单实现代码,适用于10.0.

 

1,如何读取Excel (陈能技博客转)

所在机器必须安装Excel

arrRange = ReadFile("c:\1.xls","Sheet1")
'Msgbox UBound (arrRange,1)
'Msgbox UBound (arrRange,2)
' 读取其中一个单元格的数据
Msgbox arrRange(1,1)

Function ReadFile(sFileName,sSheetName)
       Dim oExcel
       Dim oSheet
       Dim oRange
       Dim arrRange
       On Error Resume Next
           ' 创建Excel应用程序对象
              Set oExcel = 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 oSheet = oExcel.Worksheets(sSheetName).UsedRange
       ' 获取从A列到Z列,从第1行到第1000行的范围i中的所有值
       Set oRange = oSheet.Range("A1:Z1000")
       '把Excel数据转换到数组
       arrRange = oRange.Value
       ' 关闭工作簿
       oExcel.WorkBooks.Item(1).Close
       ' 退出Excel
       oExcel.Quit
       Set oExcel = Nothing
    ' 返回包含Excel数据的数组
     ReadFile = arrRange
End Function

 

2,自己写的一个脚本

Function openAndWriteExcel(path,x,y,values)
     Dim excelapp,fso
    Set excelapp=CreateObject("Excel.Application")
    Set fso=CreateObject("scripting.filesystemobject")
    If fso.FileExists(filepath)Then
        excelapp.Visible=False
        Set xlswork=excelapp.Workbooks.Open(path)
        Set xlssheet=xlswork.Sheets("sheet1")
        xlssheet.cells(x,y)=values
        xlswork.Save
        xlswork.Close
        Set excelapp=Nothing
    Else
        Exit function
    End If
End Function

'openAndWriteExcel "d:\maybe.xlsx",1,1,"abcziptestdddddddddddddddd"

Function getCellDatas(path,x,y)
    Set excelapp=CreateObject("Excel.Application")
    excelapp.Visible=false
    Set xlswork=excelapp.Workbooks.Open(path)
    Set xlssheet=xlswork.Sheets("sheet1")
    values=xlssheet.cells(x,y)
    getCellDatas=values
    xlswork.Save
    xlswork.Close
    Set excelapp=Nothing
    MsgBox "successbox"
End Function

'MsgBox(getCellDatas("d:\maybe.xlsx",1,1))

posted @ 2011-12-29 21:43  高级测试开发网  阅读(544)  评论(0编辑  收藏  举报
了解开发资源最新动态:https://seniortesting.club