返回首页 LOGO 8.1认识VBA 8.1.1什么是VBA VBA(Vsua| Basic for App| ications)是广泛流行的可视化应用程序 开发语言ⅤB(Vsua| Basic)的子集。学过VB语言的读者会发现VBA语 言的语法和特色与VB语言基本类似。反过来,当有VBA语言基础的读者 阅读VB程序代码也会感觉似曾相识,学习起来也会变得相当容易 VBA语法简单但功能强大,支持基于面向对象(OOP)的程序设计, 非常适合初学者使用 需要注意的是,∨B语言开发系统是独立运行的开发环境,它创建的 应用程序可以独立运行在 Windows平台上;而VBA则不同,其编程环境 和VBA程序都必须依赖○fice应用程序(如 Access、Word、Exce等)
LOGO 8.1 认识VBA ❖ 8.1.1 什么是VBA VBA(Visual Basic for Applications)是广泛流行的可视化应用程序 开发语言VB(Visual Basic)的子集。学过VB语言的读者会发现VBA语 言的语法和特色与VB语言基本类似。反过来,当有VBA语言基础的读者 阅读VB程序代码也会感觉似曾相识,学习起来也会变得相当容易。 VBA语法简单但功能强大,支持基于面向对象(OOP)的程序设计, 非常适合初学者使用。 需要注意的是,VB语言开发系统是独立运行的开发环境,它创建的 应用程序可以独立运行在Windows平台上;而VBA则不同,其编程环境 和VBA程序都必须依赖Office应用程序(如Access、Word、Excel等)。 返 回 首页
返回首页 LOGO 8.1认识∨BA 8.1.2VBA与宏 ◆ Access宏实质上就是VBA程序,宏的操作实际上就是 用VBA代码实现的 宏的用法简单,上手容易,比较适合没有编程基础的 用户开发普通应用程序。宏的不足是功能较弱、运行 效率较差。 ◆ Access内嵌的VBA功能强大,VBA具有较完善的语法 体系和强大的开发功能,采用目前主流的面向对象机 制和可视化编程环境,适用于开发高级 Access数据库 应用系统
LOGO 8.1 认识VBA 8.1.2 VBA与宏 ❖ Access宏实质上就是VBA程序,宏的操作实际上就是 用VBA代码实现的。 ❖ 宏的用法简单,上手容易,比较适合没有编程基础的 用户开发普通应用程序。宏的不足是功能较弱、运行 效率较差。 ❖ Access内嵌的VBA功能强大,VBA具有较完善的语法 体系和强大的开发功能,采用目前主流的面向对象机 制和可视化编程环境,适用于开发高级Access数据库 应用系统。 返 回 首页
返回首页 LOGO 8.1认识VBA 8.1.3VBA开发环境 crosoft visual Basic-基础练习 文件①)编辑吧)视图)插入①)调试①)运行)工具)外接程序()窗口〖)帮助QD 圆·的。,日龆题当 赐基练习模块1《代 口x 视會口 表达值类型上下「通用 ayUb 工程一演示库 OPtion Compare database Private Sub mySub O 日题演示库(基础 Debug Print Hello World! 图 Form tESt End sub Form考务管 长地商囗 图Form学生基 模块2 表达式值。类型 愿性块1 模块1模块 按字母序按分类序 〖名称)模块1 三自
LOGO 8.1 认识VBA 8.1.3 VBA 开发环境 返 回 首页
返回首页 LOGO 82VBA语法基础 8.2.1数据类型 数据类型 类型 名称 字节 数值范围 Byte 宇节4 0-2554 Boolean 布尔 Tme或者 False4 Integer 整型 -32768.327674 长整型4 21474836482147483647 单精度 负值:3.402823E38~1401298E454 正值1401298E45~3402823E384 Double+ 双精度 负值-1.79769E308~494066E324 正值4940656E324~1.797693E3084 Currency 货币型 小数型 无小数+1792281625142643375935439503354 有小数+1792281625142643375935439503354 Date+ 日期型 1000年1月1日-999年12月31日 对象型 任何引用对象 StringI变好]变长字符串10+文本长0.约20亿 Stg定长定长字符串 文本长中 1-约654004 Variant(字]数字变体型 16 Double范围内的任何数值 Variant[文本]文本变体型 2+文之 数据范围和变长字符串相同
LOGO 8.2 VBA语法基础 ❖ 8.2.1 数据类型 返 回 首页
返回首页 LOGO 82VBA语法基础 ◆8.2.2常数 常数是指不变的数据,如数值3、字母“a”等。VBA常数也具 有多种不同类型,不同的数据类型一般具有不同的书写形式。 ◆数值型 布尔型 ◆日期时间型 ◆系统常量
LOGO 8.2 VBA语法基础 ❖8.2.2 常数 常数是指不变的数据,如数值3、字母“a”等。VBA常数也具 有多种不同类型,不同的数据类型一般具有不同的书写形式。 ◆数值型 ◆布尔型 ◆日期时间型 ◆系统常量 返 回 首页
返回首页 LOGO 82VBA语法基础 ◆8.2.3变量 变量是被命名的内存区域,用以临时保存程序运行过程中需要的数 据。在程序运行过程中,变量存储的数据可以发生变化,如同一间旅馆客 房,昨天可住旅客A,今天住旅客B,明天又有可能被闲置。 一般地,使用变量前应先进行定义,VBA中定义变量的格式为: Dm<变量名?[As<数据类型][… 格式中Dim是一个VBA命令,此处用于定义变量;As是关键字,此 处用于指定变量的数据类型。例如: Dim bAge as Byte
LOGO 8.2 VBA语法基础 ❖8.2.3 变量 变量是被命名的内存区域,用以临时保存程序运行过程中需要的数 据。在程序运行过程中,变量存储的数据可以发生变化,如同一间旅馆客 房,昨天可住旅客A,今天住旅客B,明天又有可能被闲置。 一般地,使用变量前应先进行定义,VBA中定义变量的格式为: Dim [ As ] [,…] 格式中Dim是一个VBA命令,此处用于定义变量;As是关键字,此 处用于指定变量的数据类型。例如:Dim bAge as Byte 返 回 首页
返回首页 LOGO 82VBA语法基础 ☆8.2.4符号常量 ☆VBA编程中,对一些使用频度较高的常量,可以用符号常量的形式来表示。符号 常量也是一种被命名的内存区域,只不过在程序运行过程中符号常量的值不能被 改变。 ◆符号常量定义的格式为: ☆ Const[as[, 令说明:格式中尖括号部分为必填内容,中括号部分为选填内容,[…表示之前部 分可重复。 令例如: Const P|=3.1415926或 Const Pl as Single=3.1415926, day Hours as Byte=10 圆周率π是一个常量,上例中我们定义了这样的一个常量Pl可以代表其值。在编制 程
LOGO 8.2 VBA语法基础 ❖ 8.2.4 符号常量 ❖ VBA编程中,对一些使用频度较高的常量,可以用符号常量的形式来表示。符号 常量也是一种被命名的内存区域,只不过在程序运行过程中符号常量的值不能被 改变。 ❖ 符号常量定义的格式为: ❖ Const [ as ]= [,...] ❖ 说明:格式中尖括号部分为必填内容,中括号部分为选填内容,[,…]表示之前部 分可重复。 ❖ 例如: Const PI=3.1415926 或 Const PI as Single=3.1415926 ,dayHours as Byte=10 ❖ 圆周率π是一个常量,上例中我们定义了这样的一个常量PI可以代表其值。在编制 程 返 回 首页
返回首页 LOGO 82VBA语法基础 8.2.5数组 数组也是一个被命名的内存区域,与变量只有一个存储单元不同,数组中可以包含多个存储 单元,每个存储单元都被称为元素,都可存储数据,数组的各元素都应存储相同类型的数据 为了识别数组中不同的元素,数组元素可以通过下标来访问,数组下标默认从0开始 定义数组 我们可以使用下面的方式定义数组。 ☆ Dim bAge(9) As Byte 本例定义了一个Byte型数组,其下标默认从0开始至9结束,它的第一个元素被记为bAge(O), 第二个元素被记为bAge(1),依次类推。即该数组可存储10个Bye型数据 定义数组还可以使用下面的方式 ☆ Dim bAge(3to5) AS Byte 令其中对数组定义的含义是bAge数组下标从3开始至5结束,该数组共有三个元素。 ◆数组元素可以象普通变量一样使用,既可以存储数据,也可以读取数据,如 bAge(③3)=2 为bAge(3)元素赋值
LOGO 8.2 VBA语法基础 ❖ 8.2.5 数组 ❖ 数组也是一个被命名的内存区域,与变量只有一个存储单元不同,数组中可以包含多个存储 单元,每个存储单元都被称为元素,都可存储数据,数组的各元素都应存储相同类型的数据。 为了识别数组中不同的元素,数组元素可以通过下标来访问,数组下标默认从0开始。 ❖ 定义数组 ❖ 我们可以使用下面的方式定义数组。 ❖ Dim bAge(9) As Byte ❖ 本例定义了一个Byte型数组,其下标默认从0开始至9结束,它的第一个元素被记为bAge(0), 第二个元素被记为bAge(1),依次类推。即该数组可存储10个Byte型数据。 ❖ 定义数组还可以使用下面的方式 ❖ Dim bAge( 3 to 5 ) As Byte ❖ 其中对数组定义的含义是bAge数组下标从3开始至5结束,该数组共有三个元素。 ❖ 数组元素可以象普通变量一样使用,既可以存储数据,也可以读取数据,如 ❖ bAge(3)=21 ‘为bAge(3)元素赋值 返 回 首页
返回首页 LOGO 82VBA语法基础 二维数组 前面我们定义的数组都属一维数组,即元素下标只有一个。二维 数组元素有两个下标,它相当于一张由行和列组成的二维表格, 第一维下标相当于行,第二维下标相当于列。我们这样定义二维 数组。 Dim sStudents(39, 5)As Single ☆二维数组 sStudents拥有两个下标,由于默认下标从0开始,所 以它可以被看成一个40行、6列的表格
LOGO 8.2 VBA语法基础 ❖ 二维数组 ❖ 前面我们定义的数组都属一维数组,即元素下标只有一个。二维 数组元素有两个下标,它相当于一张由行和列组成的二维表格, 第一维下标相当于行,第二维下标相当于列。我们这样定义二维 数组。 ❖ Dim sStudents(39,5 ) As Single ❖ 二维数组sStudents拥有两个下标,由于默认下标从0开始,所 以它可以被看成一个40行、6列的表格。 返 回 首页
返回首页 LOGO 82VBA语法基础 ☆动态数组 在定义数组时可以不指定下标,而改在程序运行需要时再指定,即数组 元素的数量是可动态改变的,这种数组被称作动态数组。 令假定我们想用数组 sAges存储某班级学生的年龄,由于各班级的学生数 量可能不同,因此我们在定义数组时不便指定数组大小,当班级学生数 量确定后我们再指定数组的大小(即数组下标范围)。 ◇我们先定义一个动态数组 ☆ Dim bAges() As Byte 如果我们知道某班有N名学生,我们就可以重设该数组的大小 ☆ ReDim bAges(N-1) 在定义常量、变量或数组时,如果未指定变量类型,系统默认为 Variant 型数据
LOGO 8.2 VBA语法基础 ❖ 动态数组 ❖ 在定义数组时可以不指定下标,而改在程序运行需要时再指定,即数组 元素的数量是可动态改变的,这种数组被称作动态数组。 ❖ 假定我们想用数组sAges存储某班级学生的年龄,由于各班级的学生数 量可能不同,因此我们在定义数组时不便指定数组大小,当班级学生数 量确定后我们再指定数组的大小(即数组下标范围)。 ❖ 我们先定义一个动态数组 ❖ Dim bAges( ) As Byte ❖ 如果我们知道某班有N名学生,我们就可以重设该数组的大小。 ❖ ReDim bAges(N-1) ❖ 在定义常量、变量或数组时,如果未指定变量类型,系统默认为Variant 型数据。 返 回 首页