第十章VBA程序设计

上传人:平*** 文档编号:46090875 上传时间:2018-06-22 格式:PPT 页数:243 大小:2.43MB
返回 下载 相关 举报
第十章VBA程序设计_第1页
第1页 / 共243页
第十章VBA程序设计_第2页
第2页 / 共243页
第十章VBA程序设计_第3页
第3页 / 共243页
第十章VBA程序设计_第4页
第4页 / 共243页
第十章VBA程序设计_第5页
第5页 / 共243页
点击查看更多>>
资源描述

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

1、第10章 VBA程序设计nVBA概述 nVBA编程语言基础 nVBA的编程环境n模块与过程 n面向对象程序设计基础第10章 VBA程序设计nVBA是Visual Basic for Applications的简 称。它实际上是Visual Basic编程语言的 一个子集。VBA从语言功能上与Visual Basic程序语言相互兼容,这使得具有 Visual Basic编程基础的用户能够迅速地 过渡到使用VBA进行数据库开发。使用 VBA开发的程序一般保存在Access的模 块中,以供Access的“宏”或窗体来调用 。 第10章 VBA程序设计n使用VBA的优点 n能进行错误处理 n运行速度快

2、 n功能更强大 n控制能力更强 n与外部交互的能力更强 VBA编程环境(VBE) nVBA的编程环境Microsoft Visual Basic Editor(VBE)是用户编写程序、运行程序和 调试程序的工作环境。 启动VBE程序编辑器 启动VBE程序编辑器启动VBE程序编辑器n法三nAccess中打开相关的数据库。n单击数据库窗口中对象下的“模块”按钮 ,n双击要查看或编辑的模块。 VBE程序编辑器从视图菜单选择窗 口和工具栏来启动 所需窗口和工具栏 。VBE操作界面 VBE中的窗口 n代码窗口:编写、显示以及编辑VBA代码。n立即窗口:立即执行代码,不保存。n监视窗口:显示当前程序中所定

3、义的监视表达式的值 。n 对象浏览器 工程资源管理器 代码窗口 选择模块对象,再单击新建按钮 工程窗口 打开代码 窗口属性窗口 n属性窗口可以显示选定对象的属性,而且还可以对 这些属性进行修改,如果选定了多个对象,属性窗 口会列出所有控件的共同属性。 “标准”工具栏 “编辑”工具栏 VBA编程语言基础 nVBA编程语言的基础部分是面向过程的 程序设计语言。它是为完成某项任务而 事先写好的命令、语句序列。这些命令 、语句序列以模块的形式存起来。通常 这些语句包含常量、变量、运算符、函 数数据库对象等。VBA的数据类型 n基本数据类型 n字符串型、数值型数据、字节、货币、日期 、布尔和变体数据类型

4、等。 VBA数据类型符号取 值 范 围占内存大小默 认 值Byte(字节) 02551字节0Integer(整型 )%32768327672字节0Long(长整型 )X0数值型函数n?abs(-1),abs(1),abs(0)n 1 1 0 n?exp(1),exp(0)n 2.71828182845905 1 n?int(12.3),int(-12.3),int(12.5)n 12 -13 12 n?rnd(x),rnd(x+1)n 1.953125E-02 1.401764E-02 数值型函数n?round(1),round(1.4),round(1.5)n1 1 2n?round(1.5

5、3,1),round(1.55,1)n1.5 1.6 n?sgn(2),sgn(-2),sgn(0)n 1 -1 0 n?sqr(9),sqr(4),sqr(0)n 3 2 0 字符串型函数 函数名功能Asc(X)取字符串X的第一个字符的ASCII值值Chr(X)返回以X作为为ASCII码码的字符Lcase(X)将X中的字符全部变为变为小写Len(X)返回X的长长度,即字符的个数Left(X,n)从X的左边边取n 个字符Ltrim(X)去掉X的首部的空格Mid(X,n1,n2)从X的第n1个字符开始,连续连续取n2个字符Right(X,n)从X的右边边取n个字符Rtrim(X)去掉X的尾部空格

6、Space(n)返回n个空格String(n,X)返回将X的第一个字符重复n次而形成的字符串Trim(X)去掉X的首部和尾部的空格Ucase(X)将X中的所有字符转转成大写Val(X)将X转转成数值值字符串型函数n?asc(“abc“),asc(“bca“),asc(“cab“)n 97 98 99 n?chr(99),chr(98),chr(97)nc b an?len(“abc“),len(“ abc“),len(“ abc “),len(“ abc 1 “)n 3 4 5 7 n?left(“abcde“,2),right(“abcde“,2),mid(“abcde“,3,2)nab d

7、e cdn?left(“我们是大学生“,2)n我们字符串型函数n?string(1,“abc“),string(2,“abc“),string(3,“abc“),string(4,“abc“)na aa aaa aaaan?“a“+space(2)+“bc“na bcn?len(ltrim(“ abc“),len(rtrim(“abc “) ) n 3 3 n?lcase(“ABCDE123abc“),ucase(“123abcDEF“)nabcde123abc 123ABCDEFn?val(“a12“),val(“12a“),val(“12“)+val(“12“),“12“+“12“n 0

8、12 24 1212日期/时间型函数 函数名功能Date返回系统当前日期 Day(X)返回X中的日,如Day(#2007-12-15#)=15 Month(X)返回X中的月,如Month(#9/8/2005#)=9 Now返回系统当前日期和时间 Time返回系统当前时间 Timer返回0:00开始至现在所经过的秒数 Weekday(X)计算X是星期几,默认星期日为1 Year(X)返回X的年份类型转换函数函数名功能Cbool(X)当X=0时返回False,否则返回TrueCdate(X)将字符型X转换 成日期型,Cdate(“2007-10-01”)转换 成 #2007-10-01# Cvar

9、(X)将数值X转成Variant(变体型)IsDate(X)若X为日期型,返回True,否则返回FalseIsEmpty(X)若X被赋值 返回True,否则返回FalseIsNull(X)若X为空返回True,否则返回FalseInputBox()函数 nInputBox()函数用从一个对话框中输入数据。它的 返回值的类型由接受返回值变量的类型所决定 。n格式: InputBox(Prompt,Title,Default,Xpos,Ypo s)MsgBox()函数 nMsgBox()函数用“消息对话框”来输出计算结果。n格式:MsgBox(Prompt,Buttons,Title) 按钮名称符

10、号常量返回值 确定vbOK1 取消vbCancel2 放弃vbAbort3 重试vbRetry4 忽略vbIgnore5 是vbYes6 否vbNo7 MsgBox 函数的按钮名称及返回值 按钮与图标符号常量数值确定vbOKOnly0确定取消vbOKCancel1放弃重试 忽略vbAbortRetryIg nore2是否取消vbYesNoCancel3是否vbYesNo4重试取消vbRetryCancel5“X”停止图标vbritical16“?”询问图 标vbQuestion32“!”感叹图 标vbExclamation48“i”信息图标vbInformation64MsgBox函数按钮与图

11、标参数设置 MsgBox()函数na=MsgBox(“请进!“,vbOK,“入口“)na=MsgBox(“请出!“,vbCancel,“出口“)MsgBox()函数na=MsgBox(“请出!“,3+32,“出口“)na=MsgBox(“请出!“,Vbcancel+vbInformation,“出 口“)运算符与表达式 n运算符是对数据进行操作运算的符号。 这些数据必须是同一类型的。n表达式是由常量、变量、函数和运算符 组成的运算式。它是VBA的重要组成部 分。表达式的类型一般由运算符决定。n100n+100 “女” 运算符与表达式n赋值运算符 n赋值运算符“ = ”的作用就是把右操作数 的值

12、复制一份给左操作数 。n例如:na=123 就是将数值123赋给变量a 。表达式运 算运 算 符表达式示例加法运算+X+Y减法运算XY取负运算X乘法运算*X*Y整数除法运算XY浮点数除法运算/X/Y指数运算XY取模运算ModX Mod Y算 术 运 算 符 与 算 术 表 达 式 运算符与表达式n?2+3,-(2-3),-(-2)*6n5 1 12n? 73,7/3n2 2.33333333333333 n? 23,7 mod 3,x mod 2n8 1 0字符串连接符与字符串表达式 连接运算符与字符串表达式n连接运算符:+、 “+“; Y; “=“; X + Yn End Sub随机数种子,

13、产生不同的随机数产生100以内随机数程序运行两次后的结果TRUE?语句序列IF后语句NYTRUE?语句序列1IF后语句NY语句序列2分支结构分支结构n简单选择语句n格式一:If 条件 Then 语句1 Else 语句2 n格式二:If Thenn n End If n【例10-1】X=10 Y=1 If X=Y Then Debug.Print “X=Y“ End IfX=10 Y=1 If X=Y Then Debug.Print “X=Y“VBA程序结构-分支结构nIf X=Y Then Debug.Print “X=Y“ Else Debug.Print “X A + B Then Ms

14、gBox “WRONG!正确答案 是“ X 计算 2+4+100的偶数和: x0For Y=2 To 100 Step 2X=X+Y NEXT DEBUG.PRINT X计算 1*2*100阶乘: X=1For Y=1 To 100 X=XY NEXT DEBUG.PRINT X多重循环n在循环体内部如果又出现循环语句,就称为 多重循环。多重循环也称为循环的嵌套。在 多重循环中,内层循环的所有语句都必须放 在外层循环之中,不能相互交叉。 n【例10-11】打印九九表。n程序段如下:n Sub jiujiu()n Dim i As Integer, j As Integer, z As Inte

15、gern For i = 1 To 9n For j = 1 To in z = i * jn Debug.Print i Avgn For I = 1 To 10n If D(I) Avg Thenn Debug.Print D(I)n End Ifn Next I定义数组输入数据求平均值求超过平均值的数数组D中的值绐终保留n例10-Maxn求十个数中的最大值n-9,8,7,4,5,6,1,0nM=max,m=- 9,m?,mi=?,mi?,mi=?nSub Avg()n Dim D(10) As Integer, I As Integer,mi as integern For I = 1 To 10n D(I) = I

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

当前位置:首页 > 高等教育 > 大学课件

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