6.3、VBA程序设计基础.ppt
《6.3、VBA程序设计基础.ppt》由会员分享,可在线阅读,更多相关《6.3、VBA程序设计基础.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、6.3 VBA6.3 VBA程序设计基础程序设计基础 6.3.1 6.3.1 数据类型数据类型 6.3.2 6.3.2 常量、变量与数组常量、变量与数组 6.3.3 6.3.3 运算符与表达式运算符与表达式 返回 VBA数据类型继承了传统的Basic语言,如Microsoft QuickBasic。在VBA应用程序中,也需要对变量的数据类型进行说明。VBA提供了较为完备的数据类型,Access数据表中的字段使用的数据类型(OLE对象和备注字段数据类型除外)在VBA中都有对应的类型。VBA数据类型、类型声明符、数据类型和取值范围如表6-5。其中,字符串类型又分为变长字符串(String)和定长字
2、符串(String*length)。除了上述系统提供的基本数据类型外,VBA还支持用户自定义数据类型。自定义数据类型实质上是由基本数据类型构造而成的一种数据类型,我们可以根据需要来定义一个或多个自定义数据类型。6.3.1 6.3.1 数据类型数据类型 表表6-5 VBA6-5 VBA基本数据类型基本数据类型 6.3.2 6.3.2 常量、变量与数组常量、变量与数组 1常量常量2变量变量3 3VBAVBA数组数组常量是指在程序运行的过程中,其值不能被改变的量。常量的使用可以增加代码的可读性,并且使代码更加容易维护。此 外,使 用 固 有 常 量 Microsoft Access、Microsof
3、t for Access Applications等支持的常量,可以保证既是常量所代表的基础值在Microsoft Access版本升级换代后也能使代码正常运行。1常量常量除了直接常量(即通常的数值或字符串值常量,如:123,Lee等,也称为字面常量)外,Microsoft Access还支持三种类型的常量:符号常量:用Const语句创建,并且在模块中使用的常量;固有常量:是Microsoft Access或引用库的一部分;系统定义常量:True、False和Null。(1)符号常量)符号常量 通常,符号常量用来代表在代码中反复使用的相同的值,或者代表一些具有特定意义的数字或字符串。符号常量的
4、使用可以增加代码的可读性与可维护性。符号常量使用Const语句来创建。创建符号常量时需给出常量值,在程序中运行过程中对符号常量只能作读取操作,而不允许修改或为其重新赋值,也不允许创建与固有常量同名的符号常量。下下面面的的例例子子给给出出了了使使用用Const语语句句来来声声明明数数值值和和字字符串常量的几种方法。符串常量的几种方法。Const conPI=3.14159265 可以使用可以使用conPI来代替常用的来代替常用的值。值。Private Const conPI2=PI*2 conPI2被被声声明明为为一一个个私私有有常常量量,同同时时在在计计算算它它的的值值的的表表达达式式中中使使
5、用用不不在在它它前前面面定定义义的的符符号号常常量量。私私有有常常量量只只能能在在定定义义它它的的模模块块(子子程程序序或或函函数数)中中使用。使用。Public Const conVersion=Version Access conVersion被被声声明明为为一一个个公公有有字字符符串串常常量量。公公有有常常量量可可以以在在整整个个应应用用程程序序内内的的所所有有子子程程序序(包包括括事件过程事件过程)和函数中使用。和函数中使用。(2)固有常量)固有常量 除除 了了 用用 Const语语 句句 声声 明明 常常 量量 之之 外外,Microsoft Access还还声声明明了了许许多多固固
6、有有常常量量,并并且且可可以以使使用用VBA常常量量和和ActiveX Data Objects(ADO)常常量量。还还 可可 以以 在在 其其 它它 引引 用用 对对 象象 库库 中中 使使 用用 常常 量量。Microsoft Access旧旧版版本本创创建建的的数数据据库库中中的的固固有有常常量量不不会会自自动动转转换换为为新新的的常常量量格格式式,但但旧旧的的常常量仍然可以使用而且不会产生错误。量仍然可以使用而且不会产生错误。所有的固有常量都可在宏或所有的固有常量都可在宏或VBA代码中使用。代码中使用。任何时候这些常量都是可用的。在函数、方法任何时候这些常量都是可用的。在函数、方法和属
7、性的和属性的“帮助帮助”主题中对用于其中的具体内置主题中对用于其中的具体内置常量都有描述。常量都有描述。固固有有常常量量有有两两个个字字母母前前缀缀指指明明了了定定义义该该常常量量的的对对象象库库。来来自自Microsoft Access库库的的常常量量以以“ac”开开头头,来来自自ADO库库的的常常量量以以“ad”开开头头,而而来来自自Visual Basic库的常量则以库的常量则以“vb”开头,例如:开头,例如:acForm、adAddNew、vbCurrency 因因为为固固有有常常量量所所代代表表的的值值在在Microsoft Access的的以以后后版版本本中中可可能能改改变变,所所
8、以以应应该该尽尽可可能能使使用用常常量量而而不不用用常常量量的的实实际际值值。可可以以通通过过在在“对对象象浏浏览览器器”中中选选择择常常量量或或在在“立立即即”窗窗口口中中输输入入“?固固有有常常量量名名”来显示常量的实际值。来显示常量的实际值。可以在任何允许使用符号常量或用户定义常量的可以在任何允许使用符号常量或用户定义常量的地方(包括表达式中)使用固有常量。如果需地方(包括表达式中)使用固有常量。如果需要,用户还可以用要,用户还可以用“对象浏览器对象浏览器”来查看所有可来查看所有可用对象库中的固有常量列表。如图用对象库中的固有常量列表。如图6-15所示。所示。图图6-15 固有常量查找固
9、有常量查找 3)系统定义常量)系统定义常量 系统定义的常量有三个:True、False和Null。系统定义常量可以在计算机上的所有应用程序中使用。2变量变量 变量实际上是一个符号地址,它代表了命名的存储位置,包含在程序执行阶段修改的数据。每个变量都有变量名,在其作用域范围内可唯一识别。使用前可以指定数据类型(即采用显式声明),也可以不指定(即采用隐式声明)。(1)变量的声明)变量的声明变量名必须以字母字符开头,在同一范围内必须是唯一的,不能超过255个字符,而且中间不能包含句点或类型声明字符。虽然,在代码中允许使用未经声明的变量,但一个良好的编程习惯应该是在程序开始几行声明将用于本程序的所有变
10、量。这样做的目的是为了避免数据输入的错误,提高应用程序的可维护性。对变量进行声明可以使用类型说明符号、Dim语句和DefType语句。使用类型说明符号声明变量类型使用类型说明符号声明变量类型 在在传传统统的的Basic语语言言中中,允允许许使使用用类类型型声声明明符符号号来来声声明明常常量量和和变变量量的的数数据据类类型型,如如:varXyz%是是一一个个整整型型变变量量;123%则则是是一一个个整整型型常常数数。类类型型声声明明符号在使用时始终放在变量或常数的末尾。符号在使用时始终放在变量或常数的末尾。VBA中的类型说明符号有中的类型说明符号有%(Integer)、&(Long)、!(Sin
11、gle)、#(Double)、$(String)和和(Currency)。类型说明符号使用时是作为变量名的一部分,放类型说明符号使用时是作为变量名的一部分,放在变量名的最后一个字符。在变量名的最后一个字符。例例如如,intX%是是一一个个整整型型变变量量;douY#是是一一个个双双精精度度变变量量;strZ$是是个个字字符符串串变变量量。在在使使用用时时不不能能将将类型说明符号省略。如:类型说明符号省略。如:intX%=1243douY#=45665.456 strZ$=Access 使用使用Dim语句声明变量语句声明变量Dim语句使用格式为:语句使用格式为:Dim 变量名变量名As 数据类型
12、数据类型例如:例如:Dim strX As String声明了一个字符串类型变量声明了一个字符串类型变量strX。可可以以使使用用Dim语语句句在在一一行行声声明明多多个个变变量量,例如:例如:Dim intX,douY,strZ As Strring 表示声明了三个变量表示声明了三个变量intX,douY和和strZ,其中其中只有最后一个只有最后一个strZ声明为字符串类型变量,声明为字符串类型变量,intX和和douY都没有声明其数据类型,即遵循类型说都没有声明其数据类型,即遵循类型说明符号规则认定为变体(明符号规则认定为变体(Variant)类型。在一类型。在一行中声明多个变量时,每一个
13、变量的数据类型行中声明多个变量时,每一个变量的数据类型应使用应使用as声明。正确的声明方法如下:声明。正确的声明方法如下:DimintX As Integer,douY As Double,strZ As String最有效、值得提倡的做法是一行只声明一个变量。最有效、值得提倡的做法是一行只声明一个变量。使用使用Dim声明了一个变量后,在代码中使用变量声明了一个变量后,在代码中使用变量名,其末尾带与不带相应的类型说明符号都代名,其末尾带与不带相应的类型说明符号都代表同一个变量。表同一个变量。DefType语句语句 DefType语语句句只只能能用用于于模模块块级级,即即模模块块的的通通用用声声
14、明明部部分分,用用来来为为变变量量和和传传送送给给过过程程的的参参数数设设置置缺缺省省数数据据类类型型,以以及及为为其其名名称称以以指指定定的的字字符符开开头头的的Function和和Property Get过过程程,设设置置返返回回值值类型。类型。DefType语句使用格式如下:语句使用格式如下:DefType 字母字母,字母范围,字母范围例如:例如:DefInt a,b,e-h 说说明明了了在在模模块块中中使使用用的的以以字字母母a,b,e到到h开开头头的的变变量(不区分大小写)的默认数据类型为整型。量(不区分大小写)的默认数据类型为整型。表表6-6列出了列出了VBA中所有可能的中所有可能
15、的DefType语句和语句和对应的数据类型。对应的数据类型。表表6-6 6-6 DefTypeDefType语句和相应的数据类型语句和相应的数据类型 使用变体类型使用变体类型声明变量数据类型可以使用上述三种方法,VBA在判断一个变量的数据类型时,按以下先后顺序进行:I是否使用Dim语句;II是否使用数据类型说明符;III是否使用DefType语句。没有上述三种方法声明数据类型的变量默认为变体类型(Variant)。用户自定义类型的声明与使用用户自定义类型的声明与使用用用户户自自定定义义类类型型可可以以是是任任何何用用Type语语句句定定义义的的数数据据类类型型。用用户户自自定定义义类类型型可可
16、包包含含一一个个或或多多个个基基本本数数据据类类型型的的数数据据元元素素、数数组组或或一一个个先先前前定定义义的用户自定义类型。例如:的用户自定义类型。例如:Type MyType MyName As String*l0 定定义义字字符符串串变变量量存存储储一一个名字。个名字。MyBirthDate As Date 定定义义日日期期变变量量存存储储一一个个生日。生日。MySex As Integer 定义整型变量存储性别定义整型变量存储性别End Type (0 为女,为女,1 为男)为男)上上例例定定义义了了一一个个名名称称为为“MyType”的的数数据据类类型型。MyType类类 型型 的
17、的 数数 据据 具具 有有 三三 个个 域域 MyName、MyBirthDate和和MySex。在在自自定定义义数数据据类类型型时时应应注注意意:Type语语句句只只能能在在模模块块级级使使用用。可可以以在在Type前前面面加加上上Public或或Private来来声声明明自自定定义义数数据据类类型型的的作作用用域域,这这与与其其它它VBA基基本本数数据据类类型型相相同同。声声明明自自定定义义数数据据类类型型的的域域时时,如如果果使使用用字字符符串串类类型型,最最好好定定长长字字符符串串,如如MyName As String*l0。使用使用Type语句声明了一个用户自定义类型后,就语句声明了
18、一个用户自定义类型后,就可以在该声明范围内的任何位置声明该类型的变可以在该声明范围内的任何位置声明该类型的变量。可以使用量。可以使用Dim、private、Public、ReDim或或Static来声明用户自定义类型的变量。来声明用户自定义类型的变量。下面的例程说明了自定义数据类型的使用。Option Compare Database自定义一个公共数据类型Type MyType MyName As String*l0 定义字符串变量存储一个名字。MyBirthDate As Date 定义日期变量存储一个生日。MySex As Integer 定义整型变量存储性别(0 为女,1 为男)End
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 6.3 VBA 程序设计 基础
限制150内