VBA 基本语法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4)常量为变量的一种特例,用Const定义,且定义时赋值,程序中不能改变值,作用域也如同变量作用域。
如下定义:Const Pi=3.1415926 as single
5,数组:是包含相同数据类型的一组变量的集合,对数组中的单个变量引用通过数组索引下标进行。
在内存中表现为一个连续的内存块,必须用Global或Dim语句来定义。
定义规则如下: Dim 数组名([lower to ]upper [, [lower to ]upper, ….]) as type ;Lower缺省值为0。
二维数组是按行列排列,如XYZ(行,列)。
除了以上固定数组外,VBA还有一种功能强大的动态数组,定义时无大小维数声明;在程序中再利用Redim语句来重新改变数组大小,原来数组内容可以通过加preserve关键字来保留。
如下例: Dim array1() as double : Redim array1(5) : array1(3)=250 : Redim preserve array1(5,10)
6,注释和赋值语句
1)注释语句是用来说明程序中某些语句的功能和作用;VBA中有两种方法标识为注释语句。
ü单引号’ ;如:’定义全局变量;可以位于别的语句之尾,也可单独一行
ü Rem ;如:Rem定义全局变量;只能单独一行
2)赋值语句是进行对变量或对象属性赋值的语句,采用赋值号=,如X=123:Form1.caption=”我的窗口”。
对对象的赋值采用:set myobject=object 或myobject:=object
7,书写规范:
Dir[(pathname[, attributes])] ;pathname 可选参数,用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。
如果没有找到 pathname,则会返回零长度字符串("");
attributes 可选参数。
常数或数值表达式,其总和用来指定文件属性。
如果省略,则会返回匹配 pathname 但不包含属性的文件。
2)删除
Kill pathname 从磁盘中删除文件, pathname 参数是用来指定一个文件名
RmDir? pathname 从磁盘中删除删除目录,pathname 参数是用来指定一个文件夹
3)打开
Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength] 能够对文件输入/输出 (I/O)。
pathname 必要。
字符串表达式,指定文件名,该文件名可能还包括目录、文件夹及驱动器。
mode 必要。
关键字,指定文件方式,有 Append、Binary、Input、Output、或 Random 方式。
如果未指定方式,则以 Random 访问方式打开文件。
access 可选。
关键字,说明打开的文件可以进行的操作,有 Read、Write、或 Read Write 操作。
lock 可选。
关键字,说明限定于其它进程打开的文件的操作,有 Shared、Lock Read、Lock Write、和 Lock Read Write 操作。
filenumber 必要。
一个有效的文件号,范围在 1 到 511 之间。
使用 FreeFile?函数可得到下一个可用的文件号。
reclength 可选。
小于或等于 32,767(字节)的一个数。
对于用随机访问方式打开的文件,该值就是记录长度。
对于顺序文件,该值就是缓冲字符数。
说明对文件做任何 I/O 操作之前都必须先打开文件。
Open 语句分配一个缓冲区供文件进行I/O 之用,并决定缓冲区所使用的访问方式。
如果 pathname 指定的文件不存在,那么,在用 Append、Binary、Output、或 Random 方式打开文件时,可以建立这一文件。
如果文件已由其它进程打开,而且不允许指定的访问类型,则 Open 操作失败,而且会有错误发生。
如果 mode 是 Binary 方式,则 Len 子句会被忽略掉。
重要在 Binary、Input 和 Random 方式下可以用不同的文件号打开同一文件,而不必先将该文件关闭。
在 Append 和 Output 方式下,如果要用不同的文件号打开同一文件,则必须在打开文件之前先关闭该文件。
4)读入
Input #filenumber, varlist 从已打开的顺序文件中读出数据并将数据指定给变量
Get [#]filenumber, [recnumber], varname将一个已打开的磁盘文件读入一个变量之中。
5)写入
Write #filenumber, [outputlist] 将数据写入顺序文件
Seek(filenumber) 返回一个 Long,在 Open 语句打开的文件中指定当前的读/写位置
1、控制程序流程语句
(1) GoTo语句
该语句将执行的程序转到指定的标签所在的语句指令,但不能转移到过程之外的指令。
例如,在进行错误捕捉时,发生错误后,程序转移至标签所在处执行。
(2) If…Then语句
这种类型的语句用于条件判断中,当满足条件时,执行相应的语句;当条件不满足时,执行其它的操作。
基本语法为:
If <条件> Then <条件满足时的执行语句>
If … Then语句有几种形式分别用于不同的情况:
①当只有一个条件时,可使用下面的结构:
If <条件> Then <条件满足时的执行语句> [Else <条件不满足时的执行语句>]
其中,Else子句可选。
如果该语句不在同一行中,则应在后面加上End If语句,即:
If <条件> Then
[指令]
End If
或:
If <条件> Then
[指令]
Else
[指令]
End If
当条件为真时,执行Then后面的语句并结束If…Then语句的执行,否则执行Else后面的语句或结束If…Then语句的执行。
②当有两个或多个条件时,可使用嵌套的If … Then 结构:
If <条件> Then
[指令]
ElseIf <条件1> Then
[指令]
[Else]
[指令]
End If
上面只是两层嵌套,可以根据情况使用多层嵌套。
当条件为真时,执行Then后面的语句并结束If…Then语句的执行,否则判断条件1,当条件1为真时,执行Then后面的语句并结束If…Then语句的执行,否则执行Else后面的指令。
(3) Select Case语句
当需要作出三种或三种以上的条件判断时,最后使用Select Case语句。
其基本语法为:Select Case <测试表达式>
[Case 条件表达式1]
[指令]
[Case 条件表达式2]
[指令]
……
[Case Else]
[指令]
End Select
当某个条件表达式与测试表达式相匹配时,则执行其后的指令,否则执行Else(如果有的话)后的指令,然后结束Select Case块的执行。
此外,Select Case语句还可以嵌套。
(有关程序控制语句的进一步介绍和示例请见后面的一系列文章)
2、循环语句
循环即重复执行某段代码。
在VBA中,有多种可以构成循环的语句结构。
(1) For … Next 循环
其语法如下:
For <计数器=开始数> To <结束数> [step 步长]
[指令]
[Exit For]
[指令]
Next [计数器]
从开始到结束,反复执行For和Next之间的指令块,除非遇到Exit For语句,将提前跳出
循环。
其中,步长和Exit For语句以及Next后的计数器均为可选项。
For…Next循环中可以再包含For…Next循环,即For…Next循环可以嵌套使用。
(2) Do While循环
只有在满足指定的条件时才执行Do While循环。
有两种形式:
■第一种形式
Do [While 条件]
[指令]
[Exit Do]
[指令]
Loop
当条件满足时执行指令。
■第二种形式
Do
[指令]
[Exit Do]
[指令]
Loop [While 条件]
先执行指令,然后再判断条件,如果条件满足则再次执行指令。
其中Exit Do语句表示提前退出指令块。
(3) Do Until循环
与Do While循环一样,也有两种形式;
■第一种形式
Do [Until 条件]
[指令]
[Exit Do]
[指令]
Loop
■第二种形式
Do
[指令]
[Exit Do]
[指令]
Loop [Until 条件]
执行指令,直到条件满足时退出循环。
(4) While … Wend循环
其语法为:
While <条件>
[指令]
Wend
当条件满足时,则执行指令。
(有关循环语句的进一步介绍和示例请见后面的一系列文章)
- - - - - - - - - - - - - - - - - - - -
过程
过程由一组完成所要求操作任务的VBA语句组成。
子过程不返回值,因此,不能作为参数的组成部分。
其语法为:
[Private|Public] [Static] Sub <过程名> ([参数])
[指令]
[Exit Sub]
[指令]
End Sub
说明:
(1) Private为可选。
如果使用Private声明过程,则该过程只能被同一个模块中的其它过程访问。
(2) Public为可选。
如果使用Public声明过程,则表明该过程可以被工作簿中的所有其它过程访问。
但是如果用在包含Option Private Module语句的模块中,则该过程只能用于所在工程中的其它过程。
(3) Static为可选。
如果使用Static声明过程,则该过程中的所有变量为静态变量,其值将保存。
(4) Sub为必需。
表示过程开始。
(5) <过程名>为必需。
可以使用任意有效的过程名称,其命名规则通常与变量的命名规则相同。
(6) 参数为可选。
代表一系列变量并用逗号分隔,这些变量接受传递到过程中的参数值。
如果没有参数,则为空括号。
(7) Exit Sub为可选。
表示在过程结束之前,提前退出过程。
(8) End Sub为必需。
表示过程结束。
如果在类模块中编写子过程并把它声明为Public,它将成为该类的方法。
(关于过程的详细介绍和示例见后面的一系列文章)
- - - - - - - - - - - - - - - - - - - -
函数
函数(function)是能完成特定任务的相关语句和表达式的集合。
当函数执行完毕时,它会向调用它的语句返回一个值。
如果不显示指定函数的返回值类型,就返回缺省的数据类型值。
声明函数的语法为:
[Private|Public] [Static] Function <函数名> ([参数]) [As 类型]
[指令]
[函数名=表达式]
[Exit Function]
[指令]
[函数名=表达式]
End Function
说明:
(1) Private为可选。
如果使用Private声明函数,则该函数只能被同一个模块中的其它过程访问。
(2) Public为可选。
如果使用Public声明函数,则表明该函数可以被所有Excel VBA工程中的所有其它过程访问。
不声明函数过程的作用域时,默认的作用域为Public。
(3) Static为可选。
如果使用Static声明函数,则在调用时,该函数过程中的所有变量均保持不变。
(4) Function为必需。
表示函数过程开始。
(5) <函数名>为必需。
可以使用任意有效的函数名称,其命名规则与变量的命名规则相同。
(6) 参数为可选。
代表一系列变量并用逗号分隔,这些变量是传递给函数过程的参数值。
参数必须用括号括起来。
(7) 类型为可选。
指定函数过程返回的数据类型。
(8) Exit Function为可选。
表示在函数过程结束之前,提前退出过程。
(9) End Function为必需。
表示函数过程结束。
通常,在函数过程执行结束前给函数名赋值。
函数可以作为参数的组成部分。
但是,函数只返回一个值,它不能执行与对象有关的动作。
如果在类模块中编写自定义函数并将该函数的作用域声明为Public,这个函数将成为该类的方法。
(关于Function过程的详细介绍和示例见后面的一系列文章)
- - - - - - - - - - - - - - - - - - - -
事件处理过程
要对一个控件事件编写事件处理程序,应先打开窗体的代码窗口并从可用对象的下拉列表中选择所需的控件。
然后,从该控件的可用事件下拉列表中选择所用的事件。
此时,对事件处理程序的定义语句就会自动出现在代码窗口中,就可以直接编写事件处理程序了。
在Excel中,有下面几类事件,即Excel应用程序事件、工作簿事件、工作表事件、图表事件、用户窗体事件等。
(关于Excel中事件处理的介绍请见后面的一系列文章)
- - - - - - - - - - - - - - - - - - - -
类模块
类模块是存放共享变量以及共享代码的存储库。
创建一个类模块,实际上也是在创建一个COM(组件对象模型)接口。
因此,类模块允许通过一个由属性、方法和事件组成的可编程接口向外界描述应用程序,同时保证保留对应用程序的控制权。
也就是说,类模块能够让程序实现“封装”,这样,在其它工程中可以直接使用某类模块而不需要访问源代码。
此外,可以使用类来创建自已的库,如果要使用的话,只需要在任何新的工程中添加一个对该类的引用就行了。
并且,如果要改变程序,只需对类模块改动就行了,而不需要在程序的每个部分都作改动。
(有关类模块知识的详细介绍请见后面的一系列文章)
- - - - - - - - - - - - - - - - - - - -
属性过程
属性过程(property procedure)是特殊的过程,用于赋予和获取自定义属性的值。
属性过程只能在对象模块如窗体或类模块中使用。
有三种属性过程:
Property Let
给属性赋值
Property Get
获取属性的值
Property Set
将对象引用赋给属性引用
- - - - - - - - - - - - - - - - - - - -
调用子过程和函数过程
子过程可以用下面三种方法调用。
第一种使用Call语句:
Call DoSomething(参数1,参数2,……)
如果使用Call语句,就必须用小括号将参数列表括起来。
第二种是直接利用过程名:
DoSomething 参数1,参数2,……
此时,不用在参数列表两边加上括号。
如果不想使用函数的返回值,可以用上述任一种方法调用函数。
否则,可以用函数名作为表达式的组成部分,如
If GetFunctionResult(parameter)=1 Then
如果用函数调用作为表达式的一部分,参数列表必须放在小括号中。
第三种是使用Run方法。
(关于过程调用更详细的介绍和示例请见后面的一系列文章)
- - - - - - - - - - - - - - - - - - - -
在过程间传递参数
在很多情况下,需要在子过程或函数中调用另一个自定义函数或子过程,这时,在被调用过
程中就要用到在调用过程中使用的某个变量。
因此,可把该变量作为参数传递给被调用过程。
不管被调用过程是在同一模块、同一工程中的过程,还是在远程服务器上的类中的一个方法,从一个过程向另一个过程传递变量的原理都是一样的。
被调用过程(而不是调用过程)决定了变量如何从调用过程传递到被调用过程。
1、VBA允许用两种不同的方式在过程和组件之间传递参数。
在子过程或函数的定义部分,可以指定参数列表中的变量的传递方式:ByRef(按引用)或者ByVal(按值)。
(1) ByRef
这是VBA中在过程间传递变量的默认方法。
ByRef是指按引用传递变量,即传递给被调用过程的是原变量的引用。
因此,如果改变了被调用过程中的变量值,其变化就会反映到调用过程中的那个变量,因为它们实际上是同一个变量。
(2) ByVal
如果使用ByVal关键字传递变量,被调用过程获得的就是该变量的独立副本。
因此,改变被庙用过程中该变量的值不会影响调用过程中该变量原来的值。
2、Optional参数
Optional关键字用来指定某个特定的参数并不一定要传递,即为可选参数。
但是,该参数必须放在最后。
3、ParamArray
使用ParamArray关键字能够使过程按受一组数目可变的参数。
ParamArray参数必须是参数列表中的最后一个参数,而且不能在使用了Optional关键字的参数列表中使用ParamArray 参数。
- - - - - - - - - - - - - - - - - - - -
变量(常量)作用域和生存期
有时需要在工程内的所有过程中使用某个变量,而有时某些变量又只需要在某些特定的过程中用到,变量的这种可见性称为变量作用域。
变量存在和作用的时间,称为变量的生存期。
变量或常数在程序中声明的位置决定了变量的作用域和生存期。
总的说来,在模块的声明部分用Private关键字声明的变量可以被模块中的所有过程使用;在模块的声明部分用Public关键字声明的变量可以被整个工程使用;若某个对象引用指向某类模块,则在该类模块的声明部分用Public关键字声明的变量可以被整个工程使用;在
VBA语法基础(上)
- - - - - - - - - - - - - - - - - -
数据类型
“数据类型”是指如何将数据存储在内存中。
(1)Boolean
表示逻辑数据,可以是True或False中的任一个值。
占用2字节的存储空间,取值范围为True或False,缺省值为False。
(2)Byte
只能表示正数。
占用1字节的存储空间,取值范围为0-255,缺省值为0。
(3)Currency
一种保存货币值数据的特殊数字格式。
占用8字节的存储空间,取值范围为-922337203685477.5808-922337203685477.5807,缺省值为0。
(4)Date
一种用于表示日期或时间的专用格式。
占用8字节的存储空间,取值范围为100年1月1日——9999年12月31日,缺省值为00:00:00。
(有关在VBA中使用日期和时间的详细介绍请见后面的一系列文章。
)
(5)Decimal
一种包含以10的幂为刻度的十进制数的变体子类型,只能通过CDec转换函数创建,不是一种独立的数据类型。
占用14字节的存储空间,取值范围为±79228162514264337593543950335(不带小数点)或±7.9228162514264337593543950335(带28位小数点),缺省值为0。
(Decimal数据类型是在Excel 2000中引入的,在以前的版本中不能使用这种数据类型。
该数据类型非常特殊,因为不能实际声明它,它是Variant的子类型,必须使用CDec函数将一个变量转换为Decimal数据类型)
(6)Double
存储双精度浮点数,占用8字节的存储空间,取值范围为负值:-1.79769313486232E308——4.94065645841247E-324,正值:1.79769313486232E308——4.94065645841247E-324,缺省值为0。
(7)Integer
表示从-32768-32767之间的整数,其中一位表示符号,占用2字节的存储空间,缺省值为0。
(8)Long
表示存储为4个字节空间的带符号的数,其中一位表示符号,取值范围为-2147483648-2147483647,缺省值为0。
(9)Object
包含对某个对象的引用(地址),占用4字节的存储空间,可对任何对象引用,缺省值为Nothing。
(10)Single
表示分数、带小数位或指数的数值等单精度数,占用4字节的存储空间,取值范围为负值:-3.402823E38——1.401298E-45,正值:1.401298E-45——3.402823E38,缺省值为0。
(11)String
可声明定长和变长的String数据类型。
其中,定长的String数据类型占用的存储空间为字符串的长度,取值范围为1——65400个字符,缺省值等于该字符串长度的空格数。
变长的String数据类型能动态地加长或缩短以存储要求的字符串数,占用的存储空间为10字节加上字符串的长度,取值范围为0——20亿个字符,缺省值为零长字符串(“”)。
(有关String 数据类型及处理和操作字符串数据的VBA内置函数的详细介绍请见后面的一系列文章。
) (12)Variant
Variant字符串类型的存储空间为22字节加上字符串的长度,其取值范围与变长字符串数据类型的取值范围相同,缺省值为Empty。
Variant数字型的存储空间为16字节,其取值范围与Double数据类型的取值范围相同,缺省值为Empty。
(有关Variant数据类型的进一步介绍见后面的一系列文章。
)
(13)用户自定义类型
允许用户创建一种特殊的数据类型,这种数据类型由VBA的内部数据类型、数组、对象或其他用户定义类型组成,其存储空间为各个组成部分的存储空间的总和,取值范围与各个组成部分的数据类型的取值范围一致,缺省值为各个组成部分的缺省值。
(有关用户自定义类型的进一步介绍请见后面的一系列文章。
)
各数据类型之间也可以相互转换。
(有关数据类型转换的详细介绍请见后面的一系列文章) (有关数字数据类型(Byte、Integer、Long、Single、Double、Currency、Decimal、Variant)及相应的VBA内置函数的详细介绍请见后面的一系列文章。
)
- - - - - - - - - - - - - - - - - -
常量(数)
常量即在程序执行过程中不发生改变的值或字符串。
使用Const语句声明常量。
如:
Const Rate=0.25
Const NumMonths As Integer=12
Public Const myName As String=”BabyPig”
而最后一个语句声明了一个公共常量,应放在模块中所有过程之前声明。
VBA自身包含有许多内置常数,它们的值都是VBA预先定义好的,使用内部常数时无需定义这些常数的值。
■几个特殊的常数
由于有好几种不相同的“无效值”常数,VBA语言提供了好几种方法,以检验某个变量是否为empty或null值,或者设置某个变量为empty或null值。
(1) vbNull
和VarType函数一起使用,用于确定变量是否包含null。
(2) vbNullChar
赋值或检测null字符,null字符的值为Chr(0),即vbNullChar常数相当于将变量赋值为Chr(0),可用于检测变量,确定它的值是否是一个null字符。
(3) vbNullString
赋值或检测零长(空)字符串。
(4) Null关键字
将null值赋给variant变量后,可以通过调用IsNull函数来检测变量是否是Null值。
(5) vbEmpty
检测某个variant变量是否初始化。
(6) Nothing关键字
只能和对象变量一起使用,以确定变量是否具有有效的对象引用,此外,Nothing关键字还可以用于销毁当前的对象引用。
(关于常量的介绍还可见《ExcelVBA编程系列之数据类型(1):常量》)
- - - - - - - - - - - - - - - - - -
变量
变量的主要作用是存取数据、提供了数据存放信息的容器。
根据变量的作用域不同,可分为局部变量、全局变量,见后面的变量(常量)作用域和生存期介绍。
变量命名要注意以下几点:
1、有效性。
变量以字母开头,中间可以出现数字和一些标点符号,除下划线( _ )作为连字符外,变量名称不能有空格、加号(+)、减号(-)、逗号(,)、句点(.)等符号。
2、VBA不区分大小写。
但在变量命名时,最好体现该变量的作用
3、不能使用VBA中的关键字作为变量。
4、变量名称中不能有特殊类型的声明字符(#、$、%、&或!)。
5、变量名称最多可以包含254个字符。
(有关VBA的命名规则的详细介绍请见后面的一系列文章)
- - - - - - - - - - - - - - - - - -
声明变量
其语法为:
Dim <变量名> As <数据类型>
或:Private <变量名> As <数据类型>
或:Public <变量名> As <数据类型>
可以在一行中声明多个变量,每个变量之间用逗号分隔开。
还有一种声明变量的方法是,将一个字符加在变量名称后面,从而声明变量的数据类型。
如Dim MyVar%
表示将变量MyVar声明为整型。
一些类型声明符为:
数据类型类型声明字符
Integer %
Long &
Single !
Double #
Currency @
String $
在模块前加入Option Explicit语句,将强制声明所使用的所有变量。
库名>.<
myObject
CreateObject Private或Public
对象
方法
方法
返回集合中的项的个数。
(3) Item方法
通过集合中的索引(即集合中项的序号)或键(假设该项添加到集合时指定了)检索集合中的成员。
(4) Remove方法
通过集合中的索引或键删除集合中的成员。
可以使用With…End With构造和For Each … Next构造很方便地处理对象和集合,其介绍可参见ExcelVBA编程系列之对象模型(2):初步理解和使用Excel对象模型一文。
- - - - - - - - - - - - - - - - - -
运算符
运算符是用于完成操作的一系列符号,包括算术运算符、比较运算符、逻辑运算符、字符串运算符等。
可用于连接一个或多个语言元素,或者完成一些运算以形成一个表达式。
- - - - - - - - - - - - - - - - - -
表达式
表达式就是变量、常量、运算符的集合,可分为算术表达式、字符串表达式、赋值表达式、布尔表达式等
详细的内容请见VBA编程系列:运算符和表达式。
- - - - - - - - - - - - - - - - - -
数组
数组是一组拥有相同名称同类元素。
定义数组后,即创建了数组。
数组中单个的数据项称为数组元素,用于访问数组元素的编号称为数组索引号,最小索引号和最大索引号称为边界。
在VBA中,根据数组元素是否变化,分为固定大小的数组和动态数组,根据数组的维数又可分为一维数组和多维数组。
1、创建数组
用Dim语句来定义固定大小的数组,即声明一个数组。
如
Dim myArray(9) As Integer
上面的代码创建一个名为myArray含有10个数组元素的一维数组。
注意,所有VBA数组的下界均从0开始,因此上面的代码所创建的数组元素从myArray(0)到myArray(9)。
在Dim语句中不指明数组元素的个数来声明动态数组,如
Dim myDynamicArray() As Integer
使用ReDim关键字重新定义数组的大小:
ReDim myDynamicArray(10)
也可以用ReDim关键字同时声明一个动态数组并指定该数组的元素个数:
ReDim myDynamicArray(5) As Integer
VBA没有限制重新定义动态数组大小的次数,但在重新定义数组大小时,原有的数组数据就会丢失。
如果需要保留原来的数据,可以使用Preserve关键字:
ReDim Preserve myDynamicArray(5)
需要注意的是,如果重新定义数组时减小了数组的大小,则会丢失被缩减了的那部分元素的数据。
当然,与声明变量一样,也可以用Public语句声明公共数组。
2、确定数组的边界
可以使用UBound函数和LBound函数分别获取数组的最大边界和最小边界。
默认情况下,VBA的数组的下界是从0开始的,可以在模块的声明部分使用Option Base语句来改变模块中数组的起始边界。
如
Option Base 1
该语句使数组元素的索引号从1开始。
也可以在定义数组时指定数组的上界和下界,如
Dim <数组名> (<下界> to <上界>) As <数据类型>
3、多维数组
多维数组可以在每个数组元素中存储一组数据,因此,多维数组的每个数组元素都包含一个数组。
与一维数组相同,可以使用下面的两种方法创建多维数组:
(1)Dim <数组名> (<数组元素数1>,<数组元素数2>,……) As <数据类型>
(2)Dim <数组名>(<下界> to <上界>,<下界> to <上界>,……) As <数据类型>
与一维数组相似,多维数组也可以是动态的。
4、引用数组中的元素
可以使用数组名称和一个索引号来引用数组中的某个特定的元素。
(有关数组的进一步介绍及其应用请见后面的一系列文章)
- - - - - - - - - - - - - - - - - -。