自动化测试——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.借用代码:

  不知道文明处理的时候,可以先录制宏,然后借用它的代码。。。。。

原文地址:https://www.cnblogs.com/Alvin-x/p/3499632.html