自动化测试——Excel的自动化(VBA)
1.定义全局变量:Public xx,不用赋值
‘获取当前sheet的名字 Public sName sName = ActivateSheet.Name
2.选中单元格:
Worksheets(sName).Range(strRange).Select
3.插入行:(插入列类似)
Selection..EntireRow.Insert
4.删除:
Selection.EntireRow.Delete
5.获取当前表的路径
currentFilePath = ThisWorkbook.Path
6.获取当前路径下的所有文件
set fso = CreateObject("Scripting.FileSystemObject") set tmpFolder = fso.GetFolder(currentFilePath) set allFiles = tmpFolder.Files
7.设置单元格的值
worksheets(1).Cells(row,column).Value = "xxx" Range(strRagne).value = "xxx"
8.打开另外一张Excel表
Dim exlB As New Excel.Application Dim WsheetB As Excel.Worksheet exlB.Workbooks.Open (ExlPath) Set WsheetB = exlB.Sheets(sName) If WsheetB.Name = "" Then Set WsheetB = exlB.Worksheets(1) End If
Set WsheetB = Nothing
exlB.Workbooks.Close
Set exlB = Nothing
exlB.Quit
9.设置函数:
worksheets(1).Cells(row,column).Value = "=SUM(A1:A2)"
10.获取字符
'如需得到"E“,则可以这样 Cstr(Chr(69))
11.Collection 与dictionary:
之所以提到他们,是因为有时候需要动态的数组的时候,用他们的Add方法比较方便。要要注意的是用dictionary的时候不能像Collection.Item(index)来获取值,而是需要重新定义两个数组,分别得到dictionary的Items 与Keys,然后再用数组的index来获值。此外dictionary有个exists方法,类似于某种语言的contain方法.....
12.函数:
"=COUNTIFS(D21:D92,"U",E21:E92,"<>")" ,相对应的U的行,不为空的行数的和
"=COUNTIF(D21:D92,""*H*"")" ,带有H的行数
13.随机整数,取模: Int(Rnd * 100 + 1) Mod 3
14.设置单元格背景颜色:
Worksheets(2).Cells(row, column).Interior.ColorIndex = 2 ’白色:2,黄色:6
15.其实,VBA,VBS,VB.net毕竟都是VB一家的,很多内置函数用法上基本一样,像Instr,Ubound,Lcase,Split......
16.借用代码:
不知道文明处理的时候,可以先录制宏,然后借用它的代码。。。。。