对于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 = arrRangeEnd 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))
本文转自hcy's workbench博客园博客,原文链接:http://www.cnblogs.com/alterhu/archive/2011/12/29/2306688.html ,如需转载请自行联系原作者。