第8章VBA编程语言ppt课件.ppt

上传人:牧羊曲112 文档编号:2105409 上传时间:2023-01-11 格式:PPT 页数:109 大小:1.19MB
返回 下载 相关 举报
第8章VBA编程语言ppt课件.ppt_第1页
第1页 / 共109页
第8章VBA编程语言ppt课件.ppt_第2页
第2页 / 共109页
第8章VBA编程语言ppt课件.ppt_第3页
第3页 / 共109页
第8章VBA编程语言ppt课件.ppt_第4页
第4页 / 共109页
第8章VBA编程语言ppt课件.ppt_第5页
第5页 / 共109页
点击查看更多>>
资源描述

《第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

23、 Debug.Print 1+2+3+100=,sEnd Sub,(3)While循环,格式:While 条件 Wend功能:当条件为真时,执行循环体中的语句,遇到Wend时,程序跳转到While处,继续判断条件,直到条件为假,退出循环,执行Wend后的语句。【例8.27】求N!。,【例8.27】求N!,程序代码如下:Public Sub 阶层N()Dim n,i As Integer n=InputBox(请输入一个整数:)i=1 total=1 While i=n total=total*i i=i+1 Wend MsgBox N的阶层为:&totalEnd Sub,(4)goto语句,格

24、式:GoTo 标号功能:程序执行过程中,遇到GoTo语句,会无条件地转到其后的“标号”位置,并从该位置继续执行程序。说明:标号需英文开头,并后加“:”一般与if语句配合使用【例8.28】求1100之和。,【例8.28】求1100之和。,程序代码如下:Public Sub cc()Dim i,sum1 As Integersum1=0i=1label:sum1=sum1+i i=i+1If i=100 ThenGoTo labelEnd IfMsgBox sum1End Sub,(5)循环嵌套,格式:For 循环变量=初值 To 终值step 步长值 For 循环变量=初值 To 终值step

25、步长值 Exit For Next 循环变量 Exit For Next 循环变量,While 条件 Wend,【例8.30】输出正三角形,程序代码如下:Private Sub 三角形()For i=1 To 8 For j=1 To 8-i Debug.Print;在立即窗口输出 Next j For k=1 To 2*i-1 Debug.Print*;Next k Debug.Print Next iEnd Sub,小结,本部分主要讲述了VBA的基本语句和基本的语句控制结构,主要包括顺序、选择、循环三种。其中,重点内容是选择和循环结构;难点内容是循环结构。,课堂练习,课堂作业1、Acces

26、s VBA有哪些程序控制语句?2、选择结构的几种形式?3、for循环的结构?4、do循环的5种格式?彼此之间的区别?,四.VBA模块,1、模块对象Access数据库7个对象之一,其实质就是没有界面的VBA程序。模块一般是由声明、语句和过程组成的集合,作为一个已命名的单元存储在一起,并对 VBA 代码进行组织。模块可分为两种基本类型:类模块标准模块建立一个标准模块示例,2.过程,过程由VBA语句组成,是一段相对独立的代码。过程将程序分割成较小的程序单元,这样就可以简化程序设计任务。创建过程过程可以分为:Sub 过程(子过程)事件过程Function 过程(函数),Sub过程,定义Sub过程的格式

27、:Private|Public|StaticSub(参数表)语句块End SubSub过程的调用,两种方式:Call 过程名(实际参数表)直接使用过程名调用 例如,Hello过程,事件过程,事件过程是与对象的事件相关联的程序。为窗体、报表或控件的事件来编写事件程序,这样当该事件被引发时便会执行其事件程序来完成所需的处理。例:在窗体上建立一个“获得当前时间”按钮,按下按钮便能执行VBA程序代码来显示当前时间。方法一:利用窗体的控件中的事件标签方法二:利用“视图”菜单中的“代码”命令,操作演示,Function过程,定义Function过程的格式:Private|Public|StaticFunc

28、tion(参数表)As类型End Function调用Function过程与使用VBA内部函数相同例如,GetCurDate过程,模块与过程,注意:过程不是Access的一个独立对象,不能单独保存,只能存在于模块中。,sub,Function,3.参数传递,在调用过程中,主调过程和被调过程之间的数据传递。即主调过程的实参传递给被调过程的形参,然后执行被调过程。实参向形参的数据传递有2种方式:值传递(ByVal)地址传递(ByRef)*说明:值传递时,形参的变化不影响实参;地址传递时,形参与实参使用相同的存储单元。,【例8.34】参数传递示例,问题描述:创建有参子过程Test(),通过主调过程M

29、ain_Click()调用,观察实参值的变化。程序代码:,被调子过程Test()Sub Test(ByRef x As Integer)形参x说明为传址形式的整型量 x=x+10 改变形参x的值End Sub主调过程Main_click()Private Sub Main_Click()Dim n As Integer 定义整型变量n n=6 变量n赋初值6 Call Test(n)Msgbox n 显示n值End Sub,4.过程和变量的作用域,过程或变量可被访问的范围称为过程或变量的作用域。过程的作用域:模块级(使用Private)全局级(使用Public)变量的作用域 表8.2 局部变量

30、【例8.35】模块变量【例8.36】全局变量【例8.37】,五、面向对象程序设计,1、理解面向对象编程:面向对象是观察世界和编写计算机程序的自然方式。优点:结构清晰完整,数据独立、易于管理缺点:性能方面要做些牺牲2、理解类与对象:在面向对象的方法中,类是具有共同属性、共同行为方法的对象的抽象。一个对象代表应用程序中的一个元素窗体或是其上的按钮、标签和文本框等,对象三要素,一个对象通过属性、方法和事件来描述。属性是指一个对象所具备的特征比如:按钮控件的Caption属性方法是指对象可以执行的动作比如:文本框控件可以SetFocus方法事件是指对象所能检测的动作比如,按钮的Click事件,3.对象

31、声明和引用,(1)对象的声明声明对象变量的语法格式:Dim 对象变量 As New 对象类 说明:使用new,则不必使用Set引用特定对象Set 对象变量=New 对象表达式例如,【例8.38】Dim myForm As New FormDim myText As TextBoxSet myText=New TextBox,(2)对象的使用,对象引用一般格式:!.|引用运算符:!和.例如:Forms!登陆窗体!text0.text=“1”DoCmd.CloseSELECT 学生表.姓名 FROM 学生表,对象引用规则注意事项,引用规则:引用窗体或报表必须从集合开始。例如:Forms!窗体1.C

32、aptionReports!学生成绩!学分+10Reports!学生成绩!学分.VisibleForms!窗体1!Label1.FontNameLabel1.FontName(当前窗体),改变对象的属性设置,例如:Forms!窗体1.Caption=Date&Space(2)Label1.FontName=“隶书”Label1.FontBold=TrueLabel1.FontSize=18Label1.FontItalic=TrueText0.FontColor=255 Text0.Height=Text0.Width*0.5,4.Application的对象模型,VBA使用Applicati

33、on对象操作当前活动的窗体、报表、数据访问页及它们所包含的控件。Application对象层次关系如图Application对象Form对象、Forms集合和Control对象、Controls集合DoCmd对象,(1)Application对象,Application对象引用活动的Access应用程序创建Application类的新实例:Dim appAccess As ObjectSet appAccess=CreateObject(Access.Application)例如,【例8.40】,Sub GetAccessData()Dim strDB As String Dim appAcc

34、ess As Access.Application StrDB=”C:Program FilesMicrosoft OfficeOffice11SamplesNorwind.mdb”AppAccess.OpenCurrentDatabase strDB aapAccess.DoCmd.OpenReport 图书编目表End Sub,(2)Form对象、Forms集合和Control对象、Controls集合,Forms是一个集合对象,Form是Forms集合中的一个成员。Forms集合包含Access数据库中当前打开的所有窗体。每个窗体对象都有一个Controls集合,该集合包含了窗体上的所有

35、控件。例如,【例8.41】,Sub GetControlsData()Forms!OrderForm!NewData 隐式引用 Forms!OrderForm.Controls!NewData 显示引用End Sub,(3)DoCmd对象,DoCmd对象可以调用Access内置的方法DoCmd又可以看作AccessVBA中提供的一个命令【例8.42】DoCmd对象应用举例DoCmd.OpenForm 图书编目表“说明:DoCmd对象的大多数方法都有参数,某些参数是必需的,其他一些是可选的。,5.事件驱动工作方式,事件包括事件的触发和执行程序两方面。一个事件可对应一个程序-事件过程或宏。在Acc

36、ess中事件一旦被触发,系统马上就去执行与该事件相关的程序(事件过程或宏)。执行完毕后,系统又处于等待某事件发生的状态,这种程序执行方式应用程序的事件驱动工作方式。事件触发方式可细分为3种:由用户触发、由系统触发、由代码引发,例:改变文本框中日期的颜色,若单击主体,窗体文本框中的日期即以红色显示;若双击主体,该日期则以蓝色显示。理解事件驱动:主体节中,单击右键,在菜单中选择事件生成器。在代码窗口中观察:Private Sub 主体_Cilck()Text0.ForeColor=vbRed 文本框前景色设为红色End Sub“双击”事件代码类似:Text0.ForeColor=vbBlue 思考

37、:使用Text0.Move方法和MouseDown事件使文字跟随鼠标移动。,操作演示,小结,本章主要讲解了面向对象编程(OOP)基础、VBA概述、VBA编程基础、VBA基本控制结构等方面的知识。教学重点:VBA语法规则,选择结构及循环结构教学难点:选择结构,循环结构,课堂练习,课堂作业1、模块在结构上由哪几部分组成?2、过程有几类?有何区别?3、什么是对象和类?举例说明。4、对象的使用方法?,附录:,VBE窗口的组成代码编辑器【例8.18.5】标识符的命名规则使用数值型函数,字符串函数使用日期/时间函数,类型转换函数计算费用窗体与主要代码新建模块对象示例表8.2变量使用规则和作用范围【例8.3

38、537】常用属性常用方法常用事件1-2,VBE窗口的组成,标准工具栏,工程窗口,属性窗口,代码窗口,视图切换,插入模块,运行、中断、停止,设计模式,工程资源浏览器,属性窗口,对象浏览器,查看代码,查看对象,切换文件夹,对象框,属性列表,代码编辑器,系统自动生成事件过程框架,在此处填写事件响应代码,选择对象框,选择对应的事件过程,【例8.1】程序的调试过程,问题描述:建立两个标准过程,功能为:求1100之和和由键盘输入学生考试分数判定学生的成绩等级,并运行调试这两个标准模块。操作步骤:打开VBE窗口,录入代码设置断点运行时,可以查看程序运行状态(F9)运行程序,调试程序利用立即窗口、本地窗口、监

39、视窗口协助调试,操作演示,【例8.2】变体类型定义应用举例,问题描述:变体类型定义应用示例代码:,Dim MyVar As Variant 变体类型也可用Dim定义MyVar=98052a=20a=1234a=Null 变量a没有显式声明,a的类型发生三次变化MyVar=a,【例8.3】对象类型定义应用举例,问题描述:对象类型定义应用示例代码:,Dim objDb As ObjectSet objDb=OpenDatabase _(c:高校图书馆管理系统高校图书馆管理系统.mdb),【例8.4】自定义类型定义举例,问题描述:自定义类型定义举例 示例代码:,Type Book BookName

40、As String*20 定义定常字符串变量存储书名 BookDate As Date 定义日期变量存储出版日期 BookNumber As Integer 定义整型变量存储书的数量End Type,用户自定义类型的语法格式如下:private|public Type 数据类型名变量名1 As 数据类型变量名2 As数据类型End Type,【例8.5】符号常量定义应用举例,问题描述:对象类型定义应用示例代码:,Const PI=3.1415926Public Sub area()Dim r As Integer Dim l,area As Single r=InputBox(请输入圆的半径)

41、l=2*PI*r:area=PI*r*r h=MsgBox(周长:&l&面积:&area,1+_ vbQuestion+vbDefaultButton1+0,计算圆的周长和面积)End Sub,标识符的命名规则,当在VBA的模块中为常数、变量等标识符命名时,必须遵循下列规则:只能由字母、数字、汉字和下划线组成,不能含有空格和除了下划线字符“_”以外的其他任何标点符号,长度不能超过255。例如,dim sys_AC as string必须以字母开头,不区分大小写。例如,Bxy、BXY、BxY、bxy系统都认为是相同的。不能和VBA保留字重名。例如:不能以IF命名一个变量。,使用数值型函数,问题描

42、述:计算数学表达式的值。,Sub Expression()Dim s S=y*y+abs(x)+exp(3)+sin(30*3.14/180)-sqr(x*y)+log(3)Msgbox s=&send sub,使用字符串函数,例:利用字符串函数将数值321分解成3、2、1并输出3*100+2*10+1。Sub Convert()Dim Num As Integer Dim strNum As String Dim Num1 As String,Num2 As String,Num3 As String Num=123:strNum=Trim(Str(Num)Num1=Left(strNum,

43、1):Num2=Right(strNum,1)Num3=Mid(strNum,2,1)MsgBox Num1&*100+&Num3&*10+&Num2End Sub,使用日期/时间函数,例:计算一下你还有多少天毕业。Sub GetDays()Dim GraduateDate As Date Dim Days As Long GraduateDate=CDate(InputBox(请输入你的毕业时间:)Days=DateDiff(d,Now,GraduateDate)MsgBox 你还有&Days&毕业!End Sub,使用类型转换函数,例:计算一下你还有多少天毕业。Sub GetDays()D

44、im GraduateDate As Date Dim Days As Long GraduateDate=CDate(InputBox(请输入你的毕业时间:)Days=DateDiff(d,Now,GraduateDate)MsgBox 你还有&Days&毕业!End Sub,计算费用窗体与主要代码,Dim t,y As DoubleTxttone.SetFocust=Val(Txttone.Text)Select Case t Case Is=50 y=50*tEnd SelectTxtCost.SetFocusTxtCost.Text=y,思考:此段代码的位置,新建模块对象示例,例:建立

45、一个标准模块并保存。操作步骤:选择“模块”对象单击“新建”按钮,建立一个标准模块系统会出现VBA集成开发环境在模块属性窗口中修改模块名或在右面的代码编辑器建立过程和相关代码单击工具栏中的“保存”按钮,输入模块名后,保存此模块。,表8.2变量使用规则和作用范围,【例8.35】局部变量举例,Private Sub test1_Click()Dim Strl as String Str1=Microsoft Access Me!text1=Str1 text1文本框显示Microsoft AccessEnd SubPrivate Sub test2_click()Me!text2=Str1 text2文本框显示?End Sub,程序代码如下:,【例8.36】模块变量举例,程序代码如下:,Dim Strl as StringPrivate Sub test1_Click()Str1=Microsoft Access Me!text1=Str1 text1文本框显示Microsoft AccessEnd SubPrivate Sub test2_click()Me!text2=Str1 text2文本框显示?End Sub,【例8.37】变量的作用域的综合举例,常用属性,常用方法,常用事件1,常用事件2,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号