VBA程序设计初步

上传人:灯火****19 文档编号:121019569 上传时间:2020-02-14 格式:PPT 页数:78 大小:731KB
返回 下载 相关 举报
VBA程序设计初步_第1页
第1页 / 共78页
VBA程序设计初步_第2页
第2页 / 共78页
VBA程序设计初步_第3页
第3页 / 共78页
VBA程序设计初步_第4页
第4页 / 共78页
VBA程序设计初步_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《VBA程序设计初步》由会员分享,可在线阅读,更多相关《VBA程序设计初步(78页珍藏版)》请在金锄头文库上搜索。

1、1 2020 2 13 第7章VBA程序设计初步 3 2020 2 13 要点 7 1VBA概述7 2对象模型7 3数据类型7 4程序语句7 5数组 4 2020 2 13 7 1VBA概述 1 VBA简介VBA VisualBasicApplication 是MicrosoftOffice系列软件的内置编程语言 VBA的语法与独立运行的VisualBasic编程语言互相兼容 它使得在MicrosoftOffice系列软件中快速开发应用程序更加容易 且可以完成特殊的 复杂的操作 5 2020 2 13 7 1VBA概述 1 VBA简介VBA是面向对象的程序设计语言 面向对象程序设计是一种以对象

2、为基础 以事件来驱动对象的程序设计方法 6 2020 2 13 7 1VBA概述 1 VBA简介 续 VBA和常用的程序开发语言VB非常相似 二者来自同一种编程语言 即BASIC VBA与VB所包含的对象级是相同的 也就是说 对于VB所支持对象的多数属性和方法 VBA也同样支持 但两者并非完全一致 在许多语法和功能上有所不同 VBA从VB中获得了主要的语法结构 另外又加上Office中的一些功能 7 2020 2 13 2 VBA编程环境 Office中提供的VBA开发界面称为VBE VisualBasicEditor 即可视化的Basic编程环境 在Access中 打开VBE窗口的方法有多种

3、 在模块对象窗口单击 新建 按钮 或打开一个已存在的模块 都会打开VBE窗口 选择工具菜单中 宏 子菜单的 VisualBasic编辑器 命令 使用Alt F11快捷键打开VBE界面 或切换数据库窗口和VBE窗口 8 2020 2 13 2 VBA编程环境 9 2020 2 13 工具栏工程资源管理器窗口属性窗口代码窗口 10 2020 2 13 7 2对象模型 1 Access对象Access中的对象大多都有父子关系 有根对象 也有子对象 包括子对象的子对象等等 在VBA代码中访问对象 必须从根对象开始 逐步取其子对象 直到需要访问的对象为止 11 2020 2 13 Access根对象有6

4、个 如表所示 12 2020 2 13 Forms是一个集合对象 包括当前数据库中所有打开的窗体对象 引用窗体对象的语法为Forms formname 其中的formname是窗体名每个Form对象都有一个Controls集合例如要引用窗体Form 窗体1上的控件Text1 可以显式或隐式地引用Controls集合 Forms Form 窗体1 Text1 隐式引用Forms Form 窗体1 Controls Text1 显示引用 13 2020 2 13 2 对象的属性在程序代码中 通过赋值的方式来设置对象的属性 格式为 对象 属性 属性值例如 Label1 Caption 学生成绩表 1

5、4 2020 2 13 3 对象的事件事件是发生在对象上的事情或消息 系统为每个对象预先定义了一系列的事件 如 Click 单击 DblClick 双击 等等 例如 按下按钮Command1时 文本框Text1的字体改变 PrivateSubCommand1 Click Text1 FontSize 14EndSub 15 2020 2 13 4 对象的方法 方法是一些系统封装起来的通用过程和函数 以方便用户的调用 对象方法的调用格式为 对象 方法 参数名表 例如 在立即窗口输出2 3的结果Debug Print2 3Subq1 定义了一个宏 名为 q1 Debug Print2 3EndSu

6、b 16 2020 2 13 4 对象的方法 除窗体 控件的SetFocus 获得控制焦点 Requery 更新数据 等方法外 用得最多的是DoCmd对象的一些方法 使用DoCmd对象的方法 可以在VBA中运行Access的操作 如执行打开窗体 OpenForm 关闭窗体 Close SelectObject 指定数据库对象 等操作 例如 打开 学生资料浏览 窗体的语句是DoCmd OpenForm 学生资料浏览 17 2020 2 13 例7 2 1 制作一个显示欢迎信息的窗体 P169 新建一个窗体 放置两个按钮和一个文本框 OptionCompareDatabasePrivateSubC

7、ommand1 Click Me Text1 SetFocusMe Text1 Text 您好 欢迎您学习VBA EndSub PrivateSubCommand2 Click Me Text1 SetFocusMe Text1 Text EndSubPrivateSubForm Load Me Caption 欢迎 EndSub 在 工具 菜单的 选项 的 编辑器格式 中 调整字体 18 2020 2 13 7 3数据类型 1 变量变量是在程序运行时发生变化的量 作用 保存计算结果设置属性指定方法的参数在过程间传递数据 19 2020 2 13 7 3数据类型 变量名是内存中存放数据的缓冲区

8、的名字 在使用变量前必须先声明 通知VBA变量的名字和数据类型 变量命名应注意 变量名必须以字母开头 其最大长度为255 变量名不能包含下列字符 等 变量名不能包含空格 可以包含下划线 不能包括VBA中的关键字 在程序中有特定含义的词 运算符Or内置函数名Len Abs等等 20 2020 2 13 变量的类型 P170 21 2020 2 13 声明变量作用 指定变量的数据类型 变量的适用范围 作用域 显式声明变量 可以在变量被使用之前 在代码的任意位置进行声明 最好在程序的开始位置声明所有变量 可以用Dim语句声明变量 其格式为 Dim变量名 As类型 例如 DimxAsInteger即D

9、imx Dimx1AsInteger x2AsInteger x3AsSingle隐式声明变量 使用变量前不对变量类型进行明确声明 系统会默认为Variant数据类型 22 2020 2 13 2 常量 常量在程序运行期间 其值保持不变 常量可以是数字 字符串 也可以是其他值 每个应用程序都包含一组常量 用户也可以定义新常量 定义了常量 就可以在程序中使用它 不必再用实际值 VBA支持两种类型的常量 即内置常量和用户定义的常量 23 2020 2 13 2 常量 用户自定义常量在程序中经常用到某个常数值 或为了程序的阅读或修改方便 声明常量使用Const关键字 其格式为 Const常量名 As

10、类型 表达式例如 ConstPI 3 141593 24 2020 2 13 3 运算符及优先级 算术运算 加 减 取负 乘 除 Mod 取模 整除 乘方 连接运算符 25 2020 2 13 3 运算符及优先级 关系运算符 等于 不等于 大于 大于等于 小于等于 逻辑运算符Imp 包含 Eqv 等价于 Xor 异或 Or 或 And 与 Not 非 26 2020 2 13 3 运算符及优先级 优先级 P173 算术运算符 连接运算符 关系运算符 逻辑运算符 27 2020 2 13 4 表达式 定义 表达式由运算符 数值和标识符组成 P172 表达式书写规则 1 每个符号占一格 所有符号必

11、须并排写在同一横线上 不能在右上角或右下角写方次或下标 例如 X3写成X 3 X1 X2写成X1 X2 2 所有运算符都不能省略 例如 2X写成2 X 28 2020 2 13 4 表达式 3 所有括号都用小括号 成对出现 例如 5 X 2 Y Z 必须写成5 X Y Z 4 数学表达式中的有些符号需要修改 例如 2 R可改写为2 PI R例如 数学表达式写成VBA表达式为 b sqr b 2 4 a c 2 a 29 2020 2 13 5 内置函数 VBA提供的内置函数按其功能可分为数学函数 字符串函数 日期函数 转换函数等 常用内置函数见P174表7 3 3 30 2020 2 13 1

12、MsgBox函数MsgBox 提示 按钮 标题 例7 3 1 P175 PrivateSubForm Load DimIntResponseAsInteger StrTitleAsStringStrTitle MsgBox示例 IntResponse MsgBox 停止处理 19 StrTitle IfIntResponse vbYesThenMsgBox 你按下的是 确认 键 ElseMsgBox 你按下的不是 确认 键 EndIfEndSub 31 2020 2 13 2InputBox函数InputBox 提示 标题 默认 X坐标位置 Y坐标位置 例7 3 2 PrivateSubFor

13、m Load DimStrMsgAsString StrTitleAsString StrNameAsStringStrMsg 请输入你的名字 StrTitle InputBox示例 StrName InputBox StrMsg StrTitle 李四 EndSub 32 2020 2 13 7 4程序语句 VBA中的语句是执行具体操作的指令 每个语句以Enter 回车 结束 语句由VBA关键字 属性 函数 运算符以及VBE可以识别的指令符号组合而成 33 2020 2 13 7 4程序语句 书写程序语句时遵循的构造规则称为语法 缺省情况下 输入语句时 VBA将自动对输入的内容进行语法检查

14、发现错误会弹出一个信息框提示出错的原因 VBA按约定对语句进行简单的格式化处理 例如关键字 函数的第一个字母自动变为大写 34 2020 2 13 7 4程序语句 书写程序的语法规则一般情况下 一行输入一个语句 允许使用复合语句 即把几个语句放在一行中 各语句间用冒号 分隔 一个语句也可分若干行书写 在要续行的行尾加入续行符 空格和下划线 见P176 35 2020 2 13 7 4程序语句 VBA具有结构化程序设计的三种基本结构 顺序结构选择结构循环结构 36 2020 2 13 1 赋值语句 赋值语句是程序语言中最基本的语句 其格式为 例如 Total 100ReadOut GoodMor

15、ning Text1 Text 请输入您的姓名 A 35 Total 2 37 2020 2 13 1 赋值语句 注意 P177 赋值语句兼有计算与赋值的双重功能 右边表达式类型与左边变量类型不同时 要进行类型的转换 赋值号左边只能是变量 不能是常量或表达式 38 2020 2 13 1 赋值语句 不能在一条赋值语句中 同时给多个变量赋值 反例 Dimx y z x y z 50运行结果为x 0因为系统只将最左边的 作为赋值符号 另外两个 当作关系运算符 y z默认初值为0 则y z比较 结果为真 1 而 1与50比较 结果为假 0用With语句可以给一个对象的多个属性同时赋值 P177例7

16、4 1 39 2020 2 13 40 2020 2 13 41 2020 2 13 42 2020 2 13 例7 4 3 某商场促销采用购物打折的办法 顾客一次购物在1000元以上者 按八折优惠 在500元以上 但不足1000元者 按八五折优惠 在300元以上 但不足500元者 按九折优惠 在100元以上 但不足300元者 按九五折优惠 不足100元者 没有优惠 P179 则计算折扣的程序代码为 DimaAsSingle bAsSingle a为原价 b为折扣后应付款Ifa 1000Thenb 0 8 aElseIfa 500Thenb 0 85 aElseIfa 300Thenb 0 9 a ElseIfa 100Thenb 0 95 aElseb aEndIf 43 2020 2 13 44 2020 2 13 3 条件语句二SelectCase语句 例7 4 5SelectCaseaCaseIs 1000b 0 8 aCaseIs 500b 0 85 aCaseIs 300b 0 9 aCaseIs 100b 0 95 aCaseElseb aEndSelect 45 202

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号