文章目录
1.变量1.1.命名要求1.2.作用域1.3.变量赋值1.4.数组 2.运算符2.1.算术操作符2.2.比较运算符2.3.逻辑运算符2.4.连接操作符 3.函数3.1.无参数函数3.2.带参数函数3.3.提前退出函数3.4.例子 4.作者寄语前文已经介绍GMS插件的安装,运行及VBA在CorelDraw软件中的基本使用方法,但是读者仍需要熟悉VBA的基础语法,方便书写和阅读宏录制器生成的代码。每一种语言都有共性,包含变量、运算符、函数、关键词和控制语句。这四者必须要能够读写和理解。方便根据根据功能来撰写对应的代码。在CorelDraw内打开VBE编辑器,如下图所示:
1.变量
变量是编程语言中的基础元素,源自数学中的概念,用符号表示,变量有许多的类型,来表示不同的意义。在VBA里,常见的数据类型有:字节型(Byte)、整数型(Integer)、长整数型(Long)、单精度浮点型(Single)、双精度浮点型(Double)、货币型(Currency)、小数型(Decimal)、字符串型(String)、日期型(Date)、布尔型(Boolean)等。
1.1.命名要求
变量必须以字母或汉字开头,不能包含空格、句号、感叹号、@、&、$和#,最长不能超过255个字符(一个汉字计2个字符)。
'声明变量的缩写Dim i% 'Dim i as IntegerDim i& 'Dim i as LongDim i! 'Dim i as SingleDim i# 'Dim i as DoubleDim i@ 'Dim i as CurrencyDim i$ 'Dim i as StringDim x, y, z As StringConst pi As Single=3.14 '常量定义:Const 变量名称 As 数据类型=数值
1.2.作用域
Dim声明的变量,只在该过程执行时存在,过程结束,变量的值也就消失了。Static声明的变量称为静态变量,这个值在整个程序运行期间都存在。为过程级变量。Private为私有变量,为模块级变量,在模块内有效,Public公有变量和Global全局变量,所有模块变量,在所有模块内的作用域有效。
1.3.变量赋值
给文本、数值、日期等数据类型变量赋值
语法:Let 变量名称 = 数据 这里的Let可以省略,即:变量名称=数据
Dim str As StringLet str = “知了”
给对象变量(object型)赋值
语句为:Set 变量名称=对象 这里Set必不可少。
Dim rng = Object '声明rng变量为Object类型Set rng = Object.text'给变量rng赋值rng.Value="知了" '赋值
1.4.数组
一维数组语法如下:
Public|Dim 数组名(a to b) As 数据类型
Dim students(1 to 50) As String '声明一个String类型的数组,名称为“students”,可以存储50个元素。students(1)="a1"students(2)="a2"
二维数组语法如下:
Public|Dim 数组名(a to b,c to d) As 数据类型
常见数组函数
UBound(arr): 获取数组arr的最大索引号。
LBound(arr) :获取数组arr的最小索引号。
数组的元素个数可以表示为:UBound(arr)-LBound(arr)+1。
Join函数:将一个以为数组里的元素使用指定的分隔符连接成一个新的字符串。
2.运算符
2.1.算术操作符
2.2.比较运算符
2.3.逻辑运算符
2.4.连接操作符
假设变量A=5,变量B=10,则:
3.函数
3.1.无参数函数
无参数 VBA 函数的基本语法如下:
Function [函数名]() As [返回值类型]语句1语句2...语句n[函数名] = [返回值]End Function
3.2.带参数函数
Function [函数名]([变量名1] As [数据类型1],...[变量名n] As [数据类型n]) As [返回值类型]语句1语句2...语句3[函数名] = [返回值]End Function
3.3.提前退出函数
VBA 提供 2 种提前退出过程的方法,Exit Function 和 End 方法。
Exit Function 语句:在一个函数中,当程序运行到 Exit Function 语句时,立即结束当前函数,提前退出。这里需要注意的是,Exit Function 语句只作用于当前过程,不影响调用它的父过程或函数。
End 语句:在一个函数,当程序运行到 End 语句时,立即结束当前运行的所有 VBA 过程和函数。在实际开发中,应谨慎使用 End 结束语句。End 语句的效果类似于电脑的强制关机命令,立即结束所有程序,不会保存任何值,于 VBA 有以下效果:程序中对象的各类事件不会被触发;任何在运行的 VBA 程序都会停止;对象引用都会失效;任何打开的窗体都被关闭。
3.4.例子
Function Add(num1 As Double, num2 As Double) As DoubleAdd= num1 + num2End Function
4.作者寄语
合理的脚本代码可以有效的提高工作效率,减少重复劳动。
文章引用至 作者知了-联系方式1
文章引用至 作者知了-联系方式2