第十章VBA程序设计基础.ppt
《第十章VBA程序设计基础.ppt》由会员分享,可在线阅读,更多相关《第十章VBA程序设计基础.ppt(92页珍藏版)》请在三一文库上搜索。
1、第十章 VBA程序设计基础,2,本章要点: 熟悉VBA编程环境 掌握VBA语法 掌握VBA的流程控制结构,3,10.1 VBA编程环境,认识VBA Visual Basic for Application 与VB开发工具很相似,包括各种主要的语法结构、函数命令等。 与VB的主要区别是VBA主要面向Office办公软件开发工具(增强Word、Excel等软件的自动化能力),提供了很多VB中没有的函数和对象,这些对象都是针对Office应用的。 宏的每个基本操作在VBA中都有相应的等效语句。,4,10.1 VBA编程环境,VBA编程环境:VBE窗口,5,10.1 VBA编程环境,Access 20
2、03数据库中包含的程序模块可以分为两种类型: 独立程序模块(标准模块) 绑定型程序模块(类模块),6,10.1 VBA编程环境,绑定性程序模块 是指包含在窗体、报表、页等数据库基本对象之中的事件处理过程,这样的程序模块仅在所属对象处于活动状态下有效。 也称类模块。作用范围局限在所属的窗体和报表内部,具有局部特性。,7,10.1 VBA编程环境,绑定模块代码设计步骤: 选中控件的对应事件选事件过程:,8,10.1 VBA编程环境,绑定模块代码设计步骤2: 选中事件过程后点 按钮。,9,10.1 VBA编程环境,编辑独立的程序模块 独立程序模块是指Access2003数据库中的“模块”对象。这些模
3、块对象可以在数据库中被任一个对象所调用。 也称为标准模块。一般用于存放公共过程,不如其他任何Access对象相关联。通常为整个应用系统设置全局变量或通用过程,供其他窗体或报表等数据库对象在类模块中使用或调用。 标准模块中的公共变量和公共过程具有全局性,其作用范围为整个应用系统。,10,10.1 VBA编程环境,标准模块的创建步骤: 1.选择”模块”对象,点“新建”,11,10.1 VBA编程环境,标准模块的创建步骤: 2.标准模块界面,12,10.1 VBA编程环境,两种模块:,13,10.1 VBA编程环境,VBE窗口的组成,14,10.1 VBA编程环境,主要按钮介绍: 视图切换:从VBE
4、视图切换到Access数据库对象视图。 插入模块:用于插入新模块对象,并置新模块对象为操作目标。 运行:执行模块程序。 中断:中止正在运行的程序,进入设计模式。 重新设置:中止程序 设计模式:在设计模式和非设计模式之间切换。,15,10.1 VBA编程环境,主要按钮的功能: 工程资源管理器:选中当前程序模块。,16,10.1 VBA编程环境,属性窗口:,17,10.1 VBA编程环境,对象浏览器:,18,10.1 VBA编程环境,创建模块 添加过程,19,10.2 模块基础,Sub过程 Public|Private Static Sub 子过程(形参) As 数据类型 子过程语句 Exit S
5、ub End Sub Public可以使该过程能被所有模块的所有其他过程调用。 Private可以使该过程只能被同一模块的其他过程调用。 在一个过程中也可以调用其他子过程或打开窗体等,20,10.2 模块基础,子过程的定义: Public Sub ccc() DoCmd.OpenForm “Login“ End Sub 子过程的调用: Call 子过程(实参) 或者子过程(实参) Call ccc() Ccc(),21,10.2 模块基础,Function函数 Public|Private Static Function 函数过程名(形参)AS 数据类型 函数过程语句 函数过程名表达式 Exi
6、t Function End Function 和Sub过程很类似,但通常都具有返回值。 Static定义静态函数,函数中定义的值一直保存。 As 数据类型,定义函数返回值类型。,22,10.2 模块基础,函数定义 Private Function ddd(r As Double) As Integer Dim pi As Double pi = 3.1415926 ddd = pi * r * r End Function,23,10.2 模块基础,窗体按钮事件中调用模块过程或函数: 用表达式生成器选择,24,10.2 模块基础,表达式生成器选择标准模块函数方法:,25,10.3 VBA面向
7、对象编程基础,属性与方法的引用方式: 对象.属性名,对象.方法名 这里的对象一般采用:父对象类名!子对象名 对于窗体上的控件可以用:me.xx 方式来引用,me代表当前窗体。 例如访问窗体上标签: Form_模块应用!Lb1.Caption“你好啊” Me.lb1.caption“你好啊” 标准模块只能用:父对象类名!子对象名,而窗体模块两种形式都可以使用,推荐使用me.形式。,26,10.3 VBA面向对象编程基础,访问窗体文本框: 访问或设置文本框中的字符串 读:msgbox(me.text1.value) 赋值:me.Text1.value“你好啊” 设置或者访问文本框被选中内容 Me.
8、text3.setfocus Me.Text3.SelStart = 2 Me.Text3.SelLength = 2 MsgBox (Me.Text3.SelText),27,10.3 VBA面向对象编程基础,设置文本框的输入掩码: Me.Text3.InputMask = “Password“ 设置文本框的可用性: 锁定控件,即只读:Me.Text3.Locked = True 禁用控件:Me.Text3.Enabled = true 设置文本框焦点: DoCmd.GoToControl (“Text3“) Me.Text3.SetFocus,28,10.3 VBA面向对象编程基础,访问切
9、换控件(Toggle) 程序判断是否按下 读/赋值:me.Toggle.Value 值为:true(1),false(0) 该控件较少被应用到,29,10.3 VBA面向对象编程基础,单选控件(Option) 程序判断选中与否 读/赋值:me.Option1.value=true 值为:true(1),false(0) 复选框(Check) 程序判断选中与否 读/赋值:me.check1.value 值为:true(1),false(0),30,10.3 VBA面向对象编程基础,组合框(Combo) 程序访问选中的内容、选中的序号、遍历整个下拉列表,以及增加和删除内容。 重要属性: MsgBo
10、x (Me.Combo13.ListIndex),返回组合框被选项的序号,从1开始;没有被选择的初值为1。 MsgBox (Me.Combo13.Value),返回组合框被选项的值,必须有内容被选择后才能使用。 MsgBox (Me.Combo13.ListCount),返回组合框中选项数量,可以用它实现对组合框数据的遍历。,31,10.3 VBA面向对象编程基础,组合框下拉列表值集合:bo13.ItemData(i),返回i序号位置列表项值。 组合框特色属性: 手动输入的文本:bo13.Text,可以结合按键事件,将手动输入的内容增加到组合框中。 这个属性是列表框所没有的。 组合框重要方法:
11、 Me.Combo13.AddItem (“ccc”),对组合框增加新下拉项,参数是下拉项的值,即显示出的字符串。 Me.Combo13.RemoveItem (3),删除组合框中指定序号位置的下拉项。,32,10.3 VBA面向对象编程基础,列表框(List) 除了外观形式外,常用属性方法与组合框大体类似。 特色属性: 多重选择属性:Me.List18.MultiSelect,值是0,1,2,但是运行只读属性,只能在运行之前设置。 判断列表项是否被选中属性:Me.List18.Selected(i),返回对应序号的列表值是否被选中。,33,10.3 VBA面向对象编程基础,图片框(image
12、) 一般选择链接形式显示图片,图片显示用缩放。 动态更改图片: Me.Image22.Picture = “E:教学资源1.jpg”,要给出图片的路径。,34,10.3 VBA面向对象编程基础,分页控件(选项卡控件) 重要属性: Pages属性,主要通过它指定新当前页,修改页的标题、隐藏和显示指定页。 Me.xxk.Pages.Item(2).SetFocus Me.xxk.Pages.Item(1).Caption = “cc“ Me.xxk.Pages.Item(0).Visible = False,35,10.3 VBA面向对象编程基础,Access应用程序内置对象 Applicatio
13、n对象,包含大量的属性、方法和子对象,部分全局性操作通过它完成。调用时先输入“Application.”即可显示其包含的各个子内容。 Docmd对象,是Application的一个子对象。主要功能是通过调用Access内置的方法,在VBA中实现特定的操作。调用时先输入“Docmd.”即可以选用其下属子属性和方法。该对象后续内容将大量应用。,36,10.4 VBA编程基础,VBA程序书写规范 不区分大小写,但是标点符号、括号必须是半角英文格式。一个变量或者函数名第一次定义或者使用后,其后程序将自动依照第一次定义(或使用)除格式显示。 语句书写,一般一句一行,如果一行写不下,可以在要续行的行尾用续
14、行符(空格+”_”),然后在下一行续写语句代码。 注释语句:用Rem开头或者” “开头一行表示注释。,37,10.4 VBA编程基础,1.VBA中的基本数据类型 字节型,关键字Byte,占1个字节,在0255内取值。 主要用于存储一些小型整数。 Dim i As Byte Dim x, y, z As Byte i=100 X=I 没有表示符号,38,10.4 VBA编程基础,逻辑型,关键字Boolean,占2字节,取True,False。0为false,非0为True,如-1。 主要用于存储一些逻辑运算结果 Dim x as boolean X=true X=0 X=1000 X=-199
15、常量没有特殊表示符号,39,10.4 VBA编程基础,整型,关键字Integer,占2字节,取3276832767之间。 最常用的整型。 Dim I as integer i=100 i=1+1 其常量用表示,如99。,40,10.4 VBA编程基础,长整型,关键字Long,占4字节,取值范围在正负20亿之间取值。 主要用于存储特别大的整型数值。 Dim x as long X=19999 其常量用&表示,如99&等。,41,10.4 VBA编程基础,单精度型,关键字Single,占4字节,在正负10-45之间取值。 Dim salary as single Salary=3000 保存小数
16、其常量用!表示,如100.89!,42,10.4 VBA编程基础,双精度数,关键字Double,占8个字节,比单精度数更大的表达能力。 Dim distance as Double Distance=300000 最常用的浮点数表示类型。可以兼容所有其他数值类型。 其常量用表示,如200.9,43,10.4 VBA编程基础,货币型 关键字:Currency,占8字节,15位整数,4位有效小数。 Dim money as Currency Money=99999999.9999 其常量标志为,如199。,44,10.4 VBA编程基础,日期型(包括时间,实际是日期时间类型) 关键字Data,占8
17、字节 Dim today as Date Today=Now 得到当前日期和时间 Today=Date 得到当前日期 TodayTime 得到当前时间 日期常量必须用#括起来,如#10-11-2006#,45,10.4 VBA编程基础,对象型 关键字:Object,占4个字节,可以指向任何对象。 一般不生成这种通用对象类型,而是根据需要生成专用的对象。,46,10.4 VBA编程基础,字符型 关键字:String,最多可以存放64K字符。 常量表示字符$,如“hello!”$ 字符和字符串一样表示方式,如”A“,”AB”,只有一个字符的字符串就可以作为字符。这点和C+不同。 长度为0的字符串为
18、空串。,47,10.4 VBA编程基础,变长类型 类型关键字:Varient,可以存储任何类型。 默认情况下,没有定义数据类型的变量都属于Varient类型。函数没有定义返回值类型时,默认也是Varient类型。,48,10.4 VBA编程基础,用户自定义类型 如结构 Private|Public Type 数据类型名 元素1 As 数据类型 元素2 As 数据类型 End Type 然后 Dim x as 自定义类型名 X.元素1.,49,10.4 VBA编程基础,变量、常量、数组 VBA中使用变量可以不需要说明就直接使用。 A100 也可间接显式定义 A100,是整型的标志,所以A为整型。
19、 最常用就是dim语句定义。,50,10.4 VBA编程基础,变量、常量、数组 值常量 100,100,True等等。 常值变量 Const PI3.1415926 固有常量 系统已经定义的环境常量,51,10.4 VBA编程基础,数组 VBA中不允许隐式说明数组,必须先定义后使用。 Dim x(10) as integer,普通1维数组 Dim y(-2 to 3) as integer,下标2开始的数组 Dim z(3,5) as integer,2维数组 Dim w() as integer ,动态1维数组。动态数组可以反复使用Redim重新确定大小。如:Redim w(10),重新定义
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十 VBA 程序设计 基础
链接地址:https://www.31doc.com/p-2573134.html