- 浏览: 121716 次
- 性别:
- 来自: 杭州
文章分类
最新评论
******************************************************
'Function:读Excel中的某个值
'Input parameter:
'strFilePath:保存Excel的文件路径
'strExcelSheetName:要读取的Excel中Sheet的名称
'intRow:读取哪一行的数据
'intCol:读取哪一列的数据
'For example:"E:\a.xls","Sheet1",2,3
'Return:取到的值
'******************************************************
function getOneValue(strFilePath,strSheetName,intRow,intCol)
'定义变量
Dim ExcelApp,ExcelBook,ExcelSheet
'创建EXCEL程序,打开工作簿,设置当前活动sheet
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)
Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)
'获取excel中值, 并返回
getOneValue = ExcelSheet.Cells(intRow,intCol)
'关闭Excel
closeExcelSheet ExcelBook,ExcelApp,ExcelSheet
end function
'******************************************************
'Sub:给excel中写入一条数据
'Input parameter:
'strExcelSheetName:要写入的Excel中Sheet的名称
'intRow:往哪一行的写数据
'intCol:往哪一列的写数据
'strValue:写入的值
'For example:"E:\a.xls","Sheet1",2,3,"111"
'Return:
'******************************************************
sub setOneValue(strFilePath,strSheetName,intRow,intCol,strValue)
'定义变量
Dim ExcelApp,ExcelBook,ExcelSheet
'创建EXCEL程序,打开工作簿,设置当前活动sheet
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)
Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)
'设置值
ExcelSheet.cells(intRow,intCol).value =strValue
'写入完成后,保存EXCEL
ExcelApp.DisplayAlerts=False
ExcelApp.Save
'关闭Excel
closeExcelSheet ExcelBook,ExcelApp,ExcelSheet
end sub
'******************************************************
'Function:读Excel中某一列的值
'Input parameter:
'strFilePath:保存Excel的文件路径
'strExcelSheetName:要读取的Excel中Sheet的名称
'intCol:读取哪一个列的数据
'For example:"E:\a.xls","Sheet1",2
'Return:取到的值
'******************************************************
function getColValues(strFilePath,strSheetName,intCol)
'定义变量
Dim ExcelApp,ExcelBook,ExcelSheet,intRowscount,arrValues()
'创建EXCEL程序,打开工作簿,设置当前活动sheet
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)
Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)
'得到excel中共有几行
intRowscount =ExcelBook.ActiveSheet.UsedRange.Rows.Count
'获取excel中值
Redim Preserve arrValues (intRowscount-1)
For i=1 to intRowscount
arrValues(i-1) = ExcelSheet.Cells(i,intCol)
Next
'返回值
getColValues=arrValues
'关闭Excel
closeExcelSheet ExcelBook,ExcelApp,ExcelSheet
end Function
'******************************************************
'Sub: 写入Excel中某一列的值
'Input parameter:
'strFilePath:保存Excel的文件路径
'strExcelSheetName:要写入Sheet的名称
'intCol:写入哪一个列的数据
'intFromrow:从哪里行开始写
'arrValue:写入值(数组)
'For example:"E:\a.xls","Sheet1",2,2,arrRes
'Return:
'******************************************************
Sub setColValues(strFilePath,strSheetName,intCol,intFromRow,arrValue)
'定义变量
Dim ExcelApp,ExcelBook,ExcelSheet,intRowscount
Dim intArrColumnsCount,intColumnsCount
'创建EXCEL程序,打开工作簿,设置当前活动sheet
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)
Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)
'ExcelSheet.activate
'得到数组的大小
intArrColumnsCount=UBound(arrValue)
'最后写到哪一行
intRowCount=intFromRow+intArrColumnsCount
'设置值
For i=intFromRow To intRowCount
ExcelSheet.cells(i,intCol).value =arrValue(i-intFromRow)
Next
'写入完成后,保存EXCEL
ExcelApp.DisplayAlerts=False
ExcelApp.Save
'关闭Excel
closeExcelSheet ExcelBook,ExcelApp,ExcelSheet
End Sub
'******************************************************
'Function:读Excel中某一行的值
'Input parameter:
'strFilePath:保存Excel的文件路径
'strExcelSheetName:要读取的Excel中Sheet的名称
'intRow:读取哪一行的数据
'For example:"E:\a.xls","Sheet1",1
'Return:取到的值
'******************************************************
function getRowValues(strFilePath,strSheetName,intRow)
'定义变量
Dim ExcelApp,ExcelBook,ExcelSheet,intColumnsCount,arrValues()
'创建EXCEL程序,打开工作簿,设置当前活动sheet
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)
Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)
'得到excel中共有几列
intColumnsCount =ExcelBook.ActiveSheet.UsedRange.Columns.count
'获取excel中值
Redim Preserve arrValues(intColumnsCount -1)
For i=1 to intColumnsCount
arrValues(i-1) = ExcelSheet.Cells(intRow,i)
Next
'返回值
getRowValues=arrValues
'关闭Excel
closeExcelSheet ExcelBook,ExcelApp,ExcelSheet
end Function
'******************************************************
'Sub: 写入Excel中某一行的值
'Input parameter:
'strFilePath:保存Excel的文件路径
'strExcelSheetName:要写入Sheet的名称
'intRow:写入哪一个行的数据
'intFromCol:从哪里列开始写
'arrValue:写入值(数组)
'For example:"E:\a.xls","Sheet1",5,2
'Return:
'******************************************************
Sub setRowValues(strFilePath,strSheetName,intRow,intFromCol,arrValue)
'定义变量
Dim ExcelApp,ExcelBook,ExcelSheet,intColcount
Dim intArrColumnsCount,intColumnsCount
'创建EXCEL程序,打开工作簿,设置当前活动sheet
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)
Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)
'得到数组的大小
intArrColumnsCount=UBound(arrValue)
'最后写到哪一列
intColcount=intFromCol+intArrColumnsCount
'设置值
For i=intFromCol To intColcount
ExcelSheet.cells(intRow,i).value =arrValue(i-intFromCol)
Next
'写入完成后,保存EXCEL
ExcelApp.DisplayAlerts=False
ExcelApp.Save
'关闭Excel
closeExcelSheet ExcelBook,ExcelApp,ExcelSheet
End Sub
'******************************************************
'Function:读Excel中所有的值
'Input parameter:
'strFilePath:保存Excel的文件路径
'strExcelSheetName:要读取的Excel中Sheet的名称
'For example:"E:\a.xls","Sheet1"
'Return:取到的值
'******************************************************
function getAllValues(strFilePath,strSheetName)
'定义变量
Dim ExcelApp,ExcelBook,ExcelSheet,intRowscount,intColumnsCount,arrGetCellValue()
'创建EXCEL程序,打开工作簿,设置当前活动sheet
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)
Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)
'得到excel中共有几列
intRowscount =ExcelBook.ActiveSheet.UsedRange.Rows.Count
intColumnsCount =ExcelBook.ActiveSheet.UsedRange.Columns.count
'获取excel中值
Redim Preserve arrGetCellValue (intRowscount-1,intColumnsCount-1)
For i=1 To intRowscount
For j=1 to intColumnsCount
arrGetCellValue(i-1,j-1) = ExcelSheet.Cells(i,j)
Next
Next
'返回值
getAllValues=arrGetCellValue
'关闭Excel
closeExcelSheet ExcelBook,ExcelApp,ExcelSheet
end Function
'******************************************************
'Function:读取某值第一次出现的行号
'Input parameter:
'strFilePath:Excel文件保存的路径
'strSheetName:要读取的Excel中Sheet的名称
'Value:第一次出现的值
'For example:"E:\a.xls","Sheet1","root"
'Return:行号
'******************************************************
Function getRowByValue(strFilePath,strSheetName,Value)
'定义变量
Dim ExcelApp,ExcelBook,ExcelSheet
Dim rowcount,colcount
'创建EXCEL程序,打开工作簿,设置当前活动sheet
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)
Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)
'取得EXCEL表共有几行、几列
rowcount =ExcelBook.ActiveSheet.UsedRange.Rows.Count
colcount=ExcelBook.ActiveSheet.UsedRange.Columns.Count
'从行开始循环
For i=1 To rowcount
For j=1 To colcount
'判断是否找到需要的值
If ExcelSheet.cells(i,j)= Value Then
'返回值
getRowByValue=i
'如果找到了此值,退出循环
Exit for
End If
Next
'如果找到了此值,退出循环
If getRowByValue <>"" Then
Exit For
End If
Next
'关闭Excel
closeExcelSheet ExcelBook,ExcelApp,ExcelSheet
End Function
'******************************************************
'Function:读取某值第一次出现的列号
'Input parameter:
'strFilePath:Excel文件保存的路径
'strSheetName:要读取的Excel中Sheet的名称
'Value:第一次出现的值
'For example:"E:\a.xls","Sheet1","root"
'Return:行号
'******************************************************
Function getColByValue(strFilePath,strSheetName,Value)
'定义变量
Dim ExcelApp,ExcelBook,ExcelSheet
Dim rowcount,colcount
'创建EXCEL程序,打开工作簿,设置当前活动sheet
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)
Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)
'取得EXCEL表共有几行、几列
rowcount =ExcelBook.ActiveSheet.UsedRange.Rows.Count
colcount=ExcelBook.ActiveSheet.UsedRange.Columns.Count
'从行开始循环
For i=1 To rowcount
For j=1 To colcount
'判断是否找到需要的值
If ExcelSheet.cells(i,j)= Value Then
'返回值
getColByValue=j
'如果找到了此值,退出循环
Exit for
End If
Next
'如果找到了此值,退出循环
If getColByValue <>"" Then
Exit For
End If
Next
'关闭Excel
closeExcelSheet ExcelBook,ExcelApp,ExcelSheet
End Function
'******************************************************
'Function:初始化数据,获取测试数据
'Input parameter:
'strFilePath: 测试数据Excel的文件路径
'strSheetName:要读取的Excel中Sheet的名称
'colNumber:标示符所在列
'flag:是否执行的标示符
'parmNumbers:测试参数的个数
'For example:"D:\test.xls","login",1,"x",4
'Return:测试数据(二维数组)
'第一列为每条测试数据在excel中的行号,以便于结果的写回
'******************************************************
Function getTestdata( strFilePath,strSheetName,colNumber,flag,parmNumbers)
'定义变量
Dim ExcelApp,ExcelBook,ExcelSheet,rowcount,colcount,array(),arra(),k
'创建EXCEL程序,打开工作簿,设置当前活动sheet
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)
Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)
'取得EXCEL表共有几行、几列
rowcount=ExcelBook.ActiveSheet.UsedRange.Rows.Count
colcount=ExcelBook.ActiveSheet.UsedRange.Columns.Count
'确定哪些行的数据需要执行,存在一维数组中
m=0
For i=1 To rowcount
If ExcelSheet.cells(i,colNumber)= flag Then
ReDim PreServe arra(m)
arra(m)=i
m=m+1
End If
Next
'重定义二纬数组,第一列存放每条测试数据行号,及测试数据的参数
ReDim PreServe array(m-1,parmNumbers)
For i=0 To m-1
array(i,0)=arra(i)
For j=1 To parmNumbers
array(i,j)=ExcelSheet.cells(arra(i),j+colNumber)
Next
Next
'返回值
getTestdata=array
'关闭Ecxel
closeExcelSheet ExcelBook,ExcelApp,ExcelSheet
End Function
'******************************************************
'Sub:根据过滤的测试数据写入结果
'Input parameter:
'strFilePath: 测试数据Excel的文件路径
'strSheetName:要读取的Excel中Sheet的名称
'arrData: 存放测试数据的数组
'strColName: 结果的列名
'arrResult: 存放测试结果的数组
'For example:"D:\1.xls","sheet1",arrData,"actualResult",arrResult
'Return:
'******************************************************
Sub setResultByArrdata(strFilePath,strSheetName,arrData,resultColname,arrResult)
Dim ExcelApp,ExcelBook,ExcelSheet,notNullNumber,intCol
'创建EXCEL程序,打开工作簿,设置当前活动sheet
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)
Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)
'取得EXCEL表共有几行、几列
rowcount =ExcelBook.ActiveSheet.UsedRange.Rows.Count
colcount=ExcelBook.ActiveSheet.UsedRange.Columns.Count
intCol =getColByValue(strFilePath,strSheetName,resultColname)
'统计结果所在的列有多少行不为空
notNullNumber=0
For i=1 To rowcount
If ExcelSheet.cells(i,intCol)<>"" Then
notNullNumber=notNullNumber+1
End If
Next
If notNullNumber=1 Then
For i=0 To UBound(arrResult)
ExcelSheet.cells(arrData(i,0),intCol).value = arrResult(i)
Next
Else
For i=0 To UBound(arrResult)
ExcelSheet.cells(arrData(i,0),colcount+1).value = arrResult(i)
Next
End If
ExcelApp.DisplayAlerts = false
ExcelApp.Save
closeExcelSheet ExcelBook,ExcelApp,ExcelSheet
End Sub
'******************************************************
'Sub:关闭Excel
'Input parameter:
'ExcelBook:打开的Excel
'ExcelApp:创建的Excel对象
'ExcelSheet:当前活动的表单
'For example:ExcelBook,ExcelApp,ExcelSheet
'Return:
'******************************************************
Sub closeExcelSheet(ExcelBook,ExcelApp,ExcelSheet)
ExcelBook.Close
ExcelApp.Quit
Set ExcelApp = Nothing
Set ExcelBook = Nothing
Set ExcelSheet = Nothing
End Sub
相关推荐
用QTP实现EXCEL数据比对
**QTP Excel函数详解** QuickTest Professional(QTP)是一款由HP公司开发的功能自动化测试工具,它支持多种应用程序,包括Excel。在QTP测试脚本中,能够与Excel文件进行交互,实现数据驱动测试,这需要用到QTP的...
QTP技巧和实用函数,非常适合新人学习!
QTP对Excel的基本操作
`RelevantCodes.ExcelUtil.cls.vbs`和`RelevantCodes.ExcelUtil_Examples.vbs`可能包含了用于操作Excel的自定义类或函数库。在这些文件中,可能会有以下关键代码片段: 1. **打开Excel应用和工作簿**: ```...
本文将对一份QTP函数合集进行详细解析,这份合集包含了一系列实用的函数,覆盖了文件操作、数据操作、Web操作、Windows操作以及错误处理等多个方面。虽然原作者提到部分函数可能显得冗长或不太实用,但它们却为我们...
【QTP实现EXCEL数据比对】是一种自动化测试方法,用于确保TRAS和BI系统中的分析表数据的一致性。QTP(QuickTest Professional,现在称为UFT - Unified Functional Testing)是一款功能强大的自动化测试工具,它支持...
qtp excel操作,-------------------------------------
qtp 访问sql server数据库及操作excel
【QTP11操作手册整理】 QuickTest Professional(QTP)是HP公司(现已被Micro Focus收购)推出的一款自动化测试工具,主要用于功能测试和回归测试。QTP11是其第11个版本,该版本引入了许多新特性,提升了测试效率和...
【QTP(QuickTest Professional)与Excel函数交互】 在自动化测试中,QTP(现在称为UFT,Unified Functional Testing)是一种流行的工具,用于执行功能测试和回归测试。它支持多种技术,包括与Excel文件的交互,这...
【QTP11操作手册整理】 Quick Test Professional (QTP) 11 是一款由HP公司(现可能为Micro Focus)开发的功能测试自动化工具,它主要用于执行功能测试和回归测试的自动化。QTP11在2009年发布,支持多种操作系统、...
8. **自动化流程**:在QTP测试脚本中,可以将生成Excel报告的部分封装为一个单独的函数,然后在测试执行完毕后调用该函数,实现自动化报告生成。 在【qtp制造EXCEL报表_VBScript】这个文件中,可能包含了实现上述...
### QTP实现自动读取Excel的关键知识点 #### 一、QTP简介 QTP(Quick Test Professional)是一款功能强大的自动化测试工具,它主要用于自动化回归测试和功能测试,能够支持多种类型的软件应用程序,如Web应用、桌面...
虽然具体实现没有提供,但可以想象它可能使用了 Microsoft Office 的自动化接口,如 `Application` 对象,或者 VBA (Visual Basic for Applications) 来操作 Excel 工作簿。 `GetXml` 函数是用于从 XML 文件中获取...
在这个主题中,我们将深入探讨QTP中自定义的常用函数,特别是与FTP操作和测试报告相关的部分。 首先,FTP(File Transfer Protocol)是网络上用于传输文件的标准协议。在QTP中,我们可能需要自定义函数来执行FTP...