zoukankan      html  css  js  c++  java
  • 自动化测试——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.借用代码:

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

  • 相关阅读:
    [CF149D] Coloring Brackets(区间dp)
    [CF1437E] Make It Increasing(LIS)
    洛谷试题之跳石头
    【模板】深搜和广搜
    高精度阶乘
    【模板】拓扑排序
    【模板】最小生成树——Kruskal算法
    判断素数的方法
    高精度乘法
    高精度加法
  • 原文地址:https://www.cnblogs.com/Alvin-x/p/3499632.html
Copyright © 2011-2022 走看看