携手创作,共同成长!这是我参与「掘金日新计划 · 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 语句 只要条件成立就可以一直执行,直至条件不成立结束