第8章VBA编程语言ppt课件.ppt
《第8章VBA编程语言ppt课件.ppt》由会员分享,可在线阅读,更多相关《第8章VBA编程语言ppt课件.ppt(109页珍藏版)》请在三一办公上搜索。
1、第8章 VBA编程语言,学而不思则罔,思而不学则殆。,全体编者,Compute Center,Qiqihar University,本章内容提要:,VBA概述VBA编程基础VBA基本控制结构VBA模块面向对象程序设计,一、VBA概述,1、VBA介绍 VBA是(Visual Basic for Application)是Microsoft Office系列软件的内置编程语言。Basic语言Visual可视化的程序设计2、与宏的比较在Access中,VBA与宏的作用类似,只是宏由系统给定,而VBA是需要用户自己编写程序。但在完成下列操作时,必须使用VBA。数据库的移植建立用户自定义函数,3.VBA
2、编程环境,VBE(Visual Basic Editor)打开VBE窗口的方法:独立程序模块“数据库”窗口“模块”对象选项“新建”按钮菜单栏“工具”“宏”“Visual Basic编辑器”命令项绑定型程序模块VBE窗口的组成标准工具栏、工程窗口、属性窗口代码窗口,操作演示,3.VBA编程环境,设计人员可以在代码窗口中进行代码编写、修改与调试等处理。“视图”菜单:对象浏览器立即窗口本地窗口监视窗口在标准模块中调试程序示例,二、VBA编程基础,数据类型常量和变量 运算符与表达式 常用内置函数的使用方法数组,1.数据类型,VBA提供的基本数据类型主要有字符串型数据和数值型数据,此外还提供了货币、对象
3、、变体等数据类型。VBA共有12种数据类型。此外用户还可以根据以下类型用Type自定义数据类型。有效使用数据类型,应该尽量明确变量的具体数据类型。如:Dim X As Integer,VBA基本数据类型,2.常量和变量,常量:在程序运行过程中保持不变的量。常量的种类:直接常量,如:344、3.14159、-23等;符号常量,如:const pi=3.14;固有常量,如:acForm、adAddNew、vbCuruency等;系统定义常量,如True、False、Null等。常量的数据类型参考-VBA基本数据类型 符号常量的声明和使用:const 符号常量名=常数,2.常量和变量,变量:程序运行
4、过程中,值可以改变的量。变量的类型参考-VBA基本数据类型。变量的定义:使用类型符定义,如:BookNumber%=1234【例8.6】使用Dim语句定义,如:Dim I As integer【例8.7】使用DefType语句,如:DefInt a,b,c,e-h【例8.8】变量的命名同标识符的命名,思考:变量与常量的区别?,Sub ConstSample()Const PI As Single=3.1415926 PI=3.14 错误,PI的值不能改变 r%=5 S!=PI*r2End Sub,3.运算符与表达式,VBA中基本的运算符有五种:算术运算符、关系运算符、逻辑运算符、字符串运算符、
5、对象运算符。表达式是由运算符、函数和数据等内容组合而成。根据运算符的不同,可以将表达式分成以下几类:算术表达式、关系表达式、逻辑表达式、字符串表达式和对象表达式。,算术运算符与表达式,算术运算符+加、-减、*乘、/除 整除、MOD求余、乘方例如:3+5、5-4、5*4、4/643=1、7 MOD 4=3、23=8运算符的优先级:括号取负乘方*/MOD+-算术表达式-4+3*6 MOD 5(24),关系运算符和表达式,关系运算符:大于、不等于=大于等于、6(true 或 1)4-20(false 或 0),逻辑运算符与表达式,逻辑运算符:And逻辑与、OR逻辑或、Not逻辑非逻辑运算结果是:真(
6、true或-1表示)或 假(false或0表示)优先级:NotAndOr逻辑运算的运算规则是:,逻辑运算的运算规则,例如:2+34 And 622-49Not 4+510,字符连接符与表达式,字符连接符:+:连接字符串&:可以将不同类型变量连接成字符串 例如:a$=“123”:b$=“abc”c$=a$+b$(或c$=a$&b$)则C$的值为“123abc”思考:C&1和C+1是否正确?,对象运算符与表达式,对象运算符:!对象引用符.对象属性引用符例如:Forms!学生成绩单 打开学生成绩单窗体Command1.Caption引用命令按钮Command1的Caption属性,例:表达式书写规则
7、,其VBA表达式为:(-b+Sqr(b2-4*a*c)/(2*a)书写规则说明:括号要匹配乘号不能省略表达式从左到右书写 使用表达式生成器创建表达式,操作演示,如何使用表达式,表达式及其说明,4.常用内置函数的使用方法,内置函数的调用格式:函数名(参数)例如:求Sin(30)VBA表达式为:Sin(3.14*30/180)根据函数返回值的类型,可以将函数分为:数值型函数字符串函数日期/时间函数类型转换函数,5.数组,数组是由一组具有相同数据类型的变量构成的集合。数组定义格式为:Dim 数组名(下标下界 to 下标上界限,下标下界 to 下标上界限)As 数据类型例如【例8.9】Dim A(3)
8、as IntegerDim B(3,3)as Integer,注意:Option Base n 的作用,B(0,1),数组的类型,按数组元素个数是否可变分为:固定数组动态数组动态数组的定义方法:先使用Dim来声明数组再用ReDim来指定数组元素个数加保留字Preserve 来保留以前的值否则,使用ReDim后,数组元素的值会被重新初始化为默认值。,数组的使用,数组的赋值例:定义动态数组,并求各元素的和。Private sub SumArray()Dim S,A()as integer Redim A(2)A(0)=1:A(1)=2 Redim preserve A(3)A(2)=3 S=A(0
9、)+A(1)+A(2)End Sub,如果去掉preserve关键词结果会如何,小结,本部分主要介绍了VBA及其编程环境、VBA的基本数据类型、常量和变量、运算符与表达式、常用内置函数的使用方法和数组的基本概念。其中,重点内容是VBA的基本数据类型和运算符与表达式;难点内容是常用内置函数的使用方法和数组的基本概念。,课堂练习,课堂练习1、VBE窗口的基本组成及其打开方法?2、常量与变量的区别?3、利用VBA语法书写表达式?,三、VBA基本控制结构,程序语句程序语句的书写格式程序的基本语句VBA程序的基本控制结构有三种:顺序结构选择结构循环结构,1.程序语句的书写格式,VBA程序语句有自己的书写
10、格式,主要规定如下:不区分字母的大小写。在书写标点符号和括号时,要用西文格式。在语句中的关键字的首字母均转换成大写,其余字母转换成小写。自定义的变量和过程名,以第一次定义的格式为准。续行的行尾加上续行符(空格+下划线“_”)。在一行上写多条语句,语句间用冒号“:”分隔。输入一行语句并按Enter键,VBA会自动进行语法检查,如果语句存在错误,该行代码以红色提示(或伴有错误信息提示)。,2.程序的基本语句,程序的功能是靠执行语句来实现的VBA中的几个常用的基本语句注释语句 声明语句 Option语句 赋值语句 With语句 On Error语句,注释语句、声明语句和option语句,注释语句 使
11、用Rem语句或用单引号“”实现声明语句声明语句用于命名和定义过程、变量、数组或常量例如,dim a as integeroption语句Option语句在模块的开始部分使用,用于对环境状态进行设置。Option ExplicitOption Base 0|1,例如:Str1=图书馆借阅管理系统 Str1变量记下图书馆借阅管理系统的名称Str2=Access数据库基础教程 Rem Str2变量记下Access数据库基础教程字符串,赋值语句,功能:给变量或常量指定一个值或表达式。格式:let 变量名=表达式对象名.属性名=表达式(若对象名省略,则默认对象为当前窗体或报表)【例8.15】赋值语句举例
12、,Sub program_clause()BookName=Access数据库基础教程 BookPrice=23.40 Let BookNumber=1200 BookTotalPrice=BookNumber*BookPrice Form1.Caption=图书馆借阅管理系统 Text1.text=Text2.textEnd Sub,With语句,With语句对象执行一系列的语句,而不用重复指出对象的名称。格式:With 对象.语句End With【例8.16】改变Command1按钮的属性。,Sub program2()With Command1.Caption=确定.Top=500.En
13、abled=True.FontSize=14 End WithEnd Sub,On Error语句,常见的错误主要发生在以下3个方面:语法错误运行错误逻辑错误构造错误陷阱的常用语句:On Error GoToOn Error GoTo 标号On Error Resume NextOn Error GoTo 0Err对象Error()函数和Error语句,【例8.17】错误捕捉与处理举例。,Private Sub Myproc()On Error GoTo ErrlabelErrlabel:End Sub,3.顺序结构,常用的几个输入输出方法:输入:使用文本框使用函数InputBox格式:Inp
14、utBox(提示信息,标题,默认值,对话框水平位置,对话框垂直位置)输出:使用文本框使用函数MsgBox格式:MsgBox(显示的信息,规定显示按钮数量,标题),例:摄氏温度转换为华氏温度,程序代码如下:Sub CtoF()Dim C as integer,F as integer C=inputbox(“请输入摄氏温度”)F=9/5*C+32 Msgbox(f)End sub,操作演示,4.选择结构,(1)行if语句格式:if then 条件:是关系表达式或逻辑表达式。语句:是可以执行的任何操作。功能:如果条件成立,执行,如果条件不成立,且else子句没有省略,则执行。,例:计算表达式测试程
15、序1,程序代码如下:Sub test()Dim x,y As Single x=InputBox(“请输入数据:”)If x0 then y=x2+x+1 else y=x2+5*x-1 Debug.print yEnd Sub,操作演示,例:使用控件编程,Private Sub 命令1_Click()单击确定按钮 Dim x As Single 文本0.SetFocus:x=文本0.Text If x0 Then 文本0.Text=x2+x+1 Else 文本0.Text=x2+x1End SubPrivate Sub 命令2_Click()单击重新输入按钮 文本0.SetFocus:文本0
16、.Text=End Sub,操作演示,(2)块 if 语句,格式:if then else end if,用块if语句改写上例程序1,Sub test()Dim x,y As Single x=InputBox(“请输入数据:”)If x 0 Then y=x 2+x+1 Else y=x 2+x 1 End if Debug.print yEnd sub,操作演示,用块if语句改写上例程序2,Private Sub 命令0_Click()单击确定按钮 Dim x As Single 文本0.SetFocus x=文本0.Text If x 0 Then 文本0.Text=x 2+x+1 El
17、se 文本.Text=x 2+x 1 End ifEnd Sub,操作演示,例:输入三个数,按由小到大顺序排序,输出排序后的数。,测试编程:利用模块的过程,输入三个数,按由小到大顺序排序,输出显示排序后的数。事件驱动编程:将三个数分别输入到三个文本框中,单击“排序”按钮后,三个数按由大到小的顺序排序;单击“重新输入”按钮后,清空文本框,以便重新输入。完成步骤:创建界面设置控件属性编写代码,操作演示,利用模块的过程编程:,Sub Sort()Dim a,b,c,t As Single a=Val(InputBox(请输入数据a:)b=Val(InputBox(请输入数据b:)c=Val(Inpu
18、tBox(请输入数据c:)If a b Then t=a:a=b:b=t End If If a c Then t=a:a=c:c=t End If If b c Then t=b:b=c:c=t End If MsgBox a&,&b&,&cEnd Sub,利用事件驱动编程:第一步,创建界面:,利用事件驱动编程:第二步,设置控件属性,利用事件驱动编程:第三步,编写代码Command1_Click()事件过程代码接收数据比较数据并排序输出数据Command2_Click()事件过程代码清空文本框,Command1_Click()过程代码,Dim a,b,c,t As Double接收数据Tex
19、t1.SetFocus:a=Val(Text1.Text)Text2.SetFocus:b=Val(Text2.Text)Text3.SetFocus:c=Val(Text3.Text)比较数据并排序If a b Then t=a:a=b:b=tIf a c Then t=a:a=c:c=tIf b c Then t=b:b=c:c=t输出数据Text1.SetFocus:Text1.Text=LTrim(Str(a)Text2.SetFocus:Text2.Text=LTrim(Str(b)Text3.SetFocus:Text3.Text=LTrim(Str(c),Command2_Cli
20、ck()过程代码,清空文本框Text3.SetFocusText3.Text=Text2.SetFocusText2.Text=Text1.SetFocusText1.Text=,(3)select case语句,格式:Select Case Case Case Case Else End Select功能:当测试表达式等于表达式n时,程序就执行该表达式下的语句组;如果没有等于测试表达式的表达式,则执行Case Else后的语句组。,Case项后面的值有三种形式:,可以是单个值或几个值。如果是多个值,各值之间用逗号分隔。如:case 1,3,5 表示1,3,5三个数可以用关键字to 来指定范围
21、。如:case 3 to 5 表示3到5的数可以是连续的一段值。这时要在Case 后面加Is。如:case Is3 表示大于3的所有数,例:设y表示运费,x表示吨数,问题描述:创建一个窗体,包括:两个标签、两个文本框、两个命令按钮。输入货物吨数时,单击“计算”按钮,显示出运费;单击“清除”按钮,清空两个文本框。,操作演示,5.循环结构,for循环结构Do循环结构While循环Goto语句循环嵌套,(1)for循环结构,格式:for=tostep步长 循环体next 循环变量功能:循环变量赋初值;循环变量与终值比较,即:循环变量是否超过终值?若超过,则终止循环;若没超过,则执行循环体,然后,循环
22、变量增加一个步长。,例:计算s=1+2+3+100,使用For循环结构Sub Sum_For()Dim n As Integer,s As Integer Dim t As Integer s=0 For n=1 To 100 Step 1 s=s+n Next n Debug.Print 1+2+3+100=,sEnd Sub,(2)Do循环结构,5种格式:,例:计算s=1+2+3+100,使用Do循环结构Sub Sum_Do()Dim n As Integer,s As Integer Dim t As Integer s=0 Do While n=100 s=s+n n=n+1 Loop
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBA 编程 语言 ppt 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2105409.html