VBA语言

165 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第24天,点击查看活动详情 >>

前言

今天工作遇到一个问题,我们winform客户端,有一个编辑打印模板的功能,使用的是C1ReportDesigner控件,现需要将几个值进行求和,不方便修改代码 希望通过脚本解决,并且给了个同事之前做的demo。我看了下使用的是VBA语法写的,然后配置在header 的Onformat上了。所以学习了下VBA的基本使用

VBA基本使用

运算符与数据类型和主流语言都一样,就不再写一遍了

定义变量

  • Dim 定义局部变量
  • Private 定义私有变量
  • Public 定义公有变量
  • Global 定义全局变量
  • static 定义静态变量
定义一个string类型的变量
Dim name as string

定义数组

定义数组格式: Dim数组名(起始值)as type

ex:
Dim array1() as string
dim array1(5)

书写规范

  • 不区分大小写,默认都是小写
  • 一行多条语句时使用:分割
  • 一条语句多行书写,下一行起始需要_开头

判断语句

1.IF...Then...else If condition Then [statements][Else elsestatements]

和其他的不一样的是if条件成立需要执行的是Then后面的语句

ex:
if n>10 then 
    i++
    j++
elseif n>5 then
    j--
else
    i++

2.Select Case…Case…End Case语句

这个有点像switch语句

ex:
Select Case Pid
    Case “A201” Price=200 
    Case “A302” Price=100 
    …… 
    Case 
Else Price=200
End Select

3.Choose 函数

语法:choose(index,x1,x2,x3)

第一位: index就是下标,后几位从0开始遍历寻找对应下标的参数

ex:
choose(1,"a","b","c")
将选择“b”

循环语句

1.For Next语句 语法:

For counter = start To end [Step step] '
执行语句 
Next [counter]
For Words = 10 To 1 Step -1 '建立 10 次循环 
    For Chars = 0 To 9 '建立 10 次循环 
        MyString = MyString & Chars '将数字添加到字符串中 
Next Chars 'Increment counter MyString = MyString & " " '添加一个空格 Next Words

step 缺省值为1 ,如果这个为-1 .则是每次操作-1 2.while…wend 语句 只要条件成立就可以一直执行,直至条件不成立结束