面向对象程序设计语言-VBA.ppt
《面向对象程序设计语言-VBA.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计语言-VBA.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十一章第十一章 面向对象程序设计面向对象程序设计语言语言-VBA-VBA11.1 VBA概述概述 虽然宏很好用,但它运行的速度比较慢,也不虽然宏很好用,但它运行的速度比较慢,也不虽然宏很好用,但它运行的速度比较慢,也不虽然宏很好用,但它运行的速度比较慢,也不能直接运行很多能直接运行很多能直接运行很多能直接运行很多WINDOWSWINDOWSWINDOWSWINDOWS的程序。尤其是不能自定义的程序。尤其是不能自定义的程序。尤其是不能自定义的程序。尤其是不能自定义一些函数,这样当我们要对某些数据进行一些特殊一些函数,这样当我们要对某些数据进行一些特殊一些函数,这样当我们要对某些数据进行一些特殊
2、一些函数,这样当我们要对某些数据进行一些特殊的分析时,它就无能为力了。的分析时,它就无能为力了。的分析时,它就无能为力了。的分析时,它就无能为力了。由于宏具有这些局限性,所以在给数据库设计由于宏具有这些局限性,所以在给数据库设计由于宏具有这些局限性,所以在给数据库设计由于宏具有这些局限性,所以在给数据库设计一些特殊的功能时,需要用到一些特殊的功能时,需要用到一些特殊的功能时,需要用到一些特殊的功能时,需要用到“模块模块模块模块”对象来实现,对象来实现,对象来实现,对象来实现,而这些而这些而这些而这些“模块模块模块模块”都是由一种叫做都是由一种叫做都是由一种叫做都是由一种叫做“VBAVBAVBA
3、VBA”的语言来实的语言来实的语言来实的语言来实现的。使用它编写程序,然后将这些程序编译成拥现的。使用它编写程序,然后将这些程序编译成拥现的。使用它编写程序,然后将这些程序编译成拥现的。使用它编写程序,然后将这些程序编译成拥有特定功能的有特定功能的有特定功能的有特定功能的“模块模块模块模块”,以便在,以便在,以便在,以便在Access2000Access2000Access2000Access2000中调用。中调用。中调用。中调用。VBVBVBVB,就就就就是是是是微微微微软软软软公公公公司司司司推推推推出出出出的的的的可可可可视视视视化化化化BASICBASICBASICBASIC语语语语言
4、言言言,用用用用它它它它来来来来编编编编程程程程非非非非常常常常简简简简单单单单。因因因因为为为为它它它它简简简简单单单单,而而而而且且且且功功功功能能能能强强强强大大大大,所所所所以以以以微微微微软软软软公公公公司司司司将将将将它它它它的的的的一一一一部部部部分分分分代代代代码码码码结结结结合合合合到到到到OFFICEOFFICEOFFICEOFFICE中中中中,形形形形成成成成我我我我们们们们今今今今天天天天所所所所说说说说的的的的VBAVBAVBAVBA。它它它它的的的的很很很很多多多多语语语语法法法法继继继继承承承承了了了了“VBVBVBVB”,所所所所以以以以我我我我们们们们可可可可
5、以以以以像像像像编编编编写写写写VBVBVBVB语语语语言言言言那那那那样样样样来来来来编编编编写写写写VBAVBAVBAVBA程程程程序序序序,以以以以实实实实现现现现某某某某个个个个功功功功能能能能。当当当当这这这这段段段段程程程程序序序序编编编编译译译译通通通通过过过过以以以以后后后后,将将将将这这这这段段段段程程程程序序序序保保保保存存存存在在在在AccessAccessAccessAccess中中中中的的的的一一一一个个个个模模模模块块块块里里里里,并并并并通通通通过过过过类类类类似似似似在在在在窗窗窗窗体体体体中中中中激激激激发发发发宏宏宏宏的的的的操操操操作作作作那那那那样样样样
6、来来来来启启启启动动动动这这这这个个个个“模模模模块块块块”,从而实现相应的功能。,从而实现相应的功能。,从而实现相应的功能。,从而实现相应的功能。“模模模模块块块块”和和和和“宏宏宏宏”的的的的使使使使用用用用是是是是差差差差不不不不多多多多的的的的。其其其其实实实实AccessAccessAccessAccess中中中中的的的的“宏宏宏宏”也也也也可可可可以以以以存存存存成成成成“模模模模块块块块”,这这这这样样样样运运运运行行行行起起起起来来来来的的的的速速速速度度度度还还还还会会会会更更更更快快快快。“宏宏宏宏”的的的的每每每每个个个个基基基基本本本本操操操操作作作作在在在在“VBAV
7、BAVBAVBA”中中中中都都都都有有有有相相相相应应应应的的的的等等等等效效效效语语语语句句句句,使使使使用用用用这这这这些些些些语语语语句句句句就就就就可可可可以以以以实实实实现现现现所所所所有有有有单单单单独独独独“宏宏宏宏”命命命命令令令令,所所所所以以以以“VBAVBAVBAVBA”的的的的功功功功能能能能是是是是非常强大的。非常强大的。非常强大的。非常强大的。需要使用需要使用需要使用需要使用VBAVBAVBAVBA程序代码作为程序代码作为程序代码作为程序代码作为AccessAccessAccessAccess操作指令的一部操作指令的一部操作指令的一部操作指令的一部分的原因:分的原因
8、:分的原因:分的原因:1)1)1)1)建立用户自定义的函数(建立用户自定义的函数(建立用户自定义的函数(建立用户自定义的函数(UDFUDFUDFUDF)代替重复使用的表代替重复使用的表代替重复使用的表代替重复使用的表达式。达式。达式。达式。2)2)2)2)编写包含有比编写包含有比编写包含有比编写包含有比IifIifIifIif()()()()函数更复杂的决策结构的表达函数更复杂的决策结构的表达函数更复杂的决策结构的表达函数更复杂的决策结构的表达式。式。式。式。3)3)3)3)想要执行标准想要执行标准想要执行标准想要执行标准AccessAccessAccessAccess宏不支持的操作,例如:想
9、要宏不支持的操作,例如:想要宏不支持的操作,例如:想要宏不支持的操作,例如:想要进行事务处理。进行事务处理。进行事务处理。进行事务处理。4)4)4)4)想要同时打开两个或两个以上数据库。想要同时打开两个或两个以上数据库。想要同时打开两个或两个以上数据库。想要同时打开两个或两个以上数据库。5)5)5)5)想要提供应用程序源文件复制的功能。想要提供应用程序源文件复制的功能。想要提供应用程序源文件复制的功能。想要提供应用程序源文件复制的功能。11.2 模块、函数及程序模块、函数及程序 既既既既然然然然我我我我们们们们要要要要编编编编写写写写“VBAVBAVBAVBA”程程程程序序序序,就就就就需需需
10、需要要要要先先先先看看看看看看看看“VBAVBAVBAVBA”的的的的开开开开发发发发环环环环境境境境。“VBAVBAVBAVBA”的的的的开开开开发发发发环环环环境境境境是是是是开开开开发发发发“VBAVBAVBAVBA”程程程程序序序序相相相相应应应应的的的的“设设设设计计计计器器器器”,但但但但我我我我们们们们不不不不这这这这么么么么称称称称呼呼呼呼它它它它,而而而而是是是是叫叫叫叫它它它它“VBAVBAVBAVBA开开开开发发发发环环环环境境境境”,这这这这种种种种说说说说法法法法是是是是继继继继承承承承了了了了计算机语言对开发器的一种统一叫法。计算机语言对开发器的一种统一叫法。计算机
11、语言对开发器的一种统一叫法。计算机语言对开发器的一种统一叫法。我我我我们们们们首首首首先先先先要要要要打打打打开开开开一一一一个个个个数数数数据据据据库库库库,然然然然后后后后选选选选定定定定数数数数据据据据库库库库窗窗窗窗口口口口上上上上的的的的“模模模模块块块块”选选选选项项项项,再再再再用用用用鼠鼠鼠鼠标标标标单单单单击击击击数数数数据据据据库库库库窗窗窗窗口口口口上上上上的的的的“新新新新建建建建”按按按按钮钮钮钮,这这这这时时时时就就就就会会会会弹弹弹弹出出出出一一一一个个个个窗窗窗窗口口口口,这这这这就就就就是是是是“VBAVBAVBAVBA”的的的的“开发环境开发环境开发环境开发
12、环境”,如下图所示。,如下图所示。,如下图所示。,如下图所示。VBAVBAVBAVBA开开开开发发发发环环环环境境境境分分分分为为为为“主主主主窗窗窗窗口口口口”、“模模模模块块块块代代代代码码码码”、“工工工工程程程程资资资资源源源源管管管管理理理理器器器器”和和和和“模模模模块块块块属属属属性性性性”这这这这几几几几部部部部分分分分。“模模模模块块块块代代代代码码码码”窗窗窗窗口口口口用用用用来来来来输输输输入入入入“模模模模块块块块”内内内内部部部部的的的的程程程程序序序序代代代代码码码码。“工工工工程程程程资资资资源源源源管管管管理理理理器器器器”用用用用来来来来显显显显示示示示这这这
13、这个个个个数数数数据据据据库库库库中中中中所所所所有有有有的的的的“模模模模块块块块”。当当当当我我我我们们们们用用用用鼠鼠鼠鼠标标标标单单单单击击击击这这这这个个个个窗窗窗窗口口口口内内内内的的的的一一一一个个个个“模模模模块块块块”选选选选项项项项时时时时,就就就就会会会会在在在在模模模模块块块块代代代代码码码码窗窗窗窗口口口口上上上上显显显显示示示示出出出出这这这这个个个个模模模模块块块块的的的的“VBAVBAVBAVBA”程程程程序序序序代代代代码码码码。而而而而“模模模模块块块块属属属属性性性性”窗窗窗窗口口口口上上上上就就就就可可可可以以以以显显显显示示示示当当当当前选定的前选定的
14、前选定的前选定的“模块模块模块模块”所具有的各种属性。所具有的各种属性。所具有的各种属性。所具有的各种属性。模模模模块块块块对对对对象象象象是是是是将将将将Visual Visual Visual Visual Basic Basic Basic Basic for for for for Application(Application(Application(Application(简简简简称称称称宏宏宏宏语语语语言言言言VBA)VBA)VBA)VBA)编编编编写写写写的的的的过过过过程程程程和和和和声声声声明明明明作作作作为为为为一一一一个个个个整整整整体体体体进进进进行行行行保保保保存存
15、存存的的的的过过过过程程程程的的的的集集集集合合合合。一一一一个个个个模模模模块块块块包包包包含含含含一一一一个个个个声声声声明明明明区区区区域域域域,且且且且可可可可以以以以包包包包含含含含一一一一个个个个或或或或多多多多个个个个程程程程序序序序(以以以以subsubsubsub开开开开头头头头)或或或或函函函函数数数数(以以以以FunctionFunctionFunctionFunction开开开开头头头头),模模模模块块块块的的的的声声声声明明明明区区区区域域域域是是是是用用用用来来来来声声声声明明明明模模模模块块块块使使使使用用用用的的的的项项项项目目目目(通通通通常常常常是是是是变量
16、)。变量)。变量)。变量)。程程程程序序序序又又又又称称称称为为为为子子子子程程程程序序序序。程程程程序序序序可可可可以以以以调调调调用用用用其其其其他他他他的的的的程程程程序序序序,此此此此时时时时,被被被被调调调调用用用用的的的的程程程程序序序序叫叫叫叫做做做做子子子子程程程程序序序序(SubProcedureSubProcedureSubProcedureSubProcedure)。程程程程序序序序是由开始与结束的关键字定义的,如:是由开始与结束的关键字定义的,如:是由开始与结束的关键字定义的,如:是由开始与结束的关键字定义的,如:Sub Sub Sub Sub 子程序名(参数子程序名(
17、参数子程序名(参数子程序名(参数 As As As As 数据类型)数据类型)数据类型)数据类型)As As As As 数据类型数据类型数据类型数据类型子程序语句子程序语句子程序语句子程序语句 End SubEnd SubEnd SubEnd Sub 函函函函数数数数是是是是一一一一种种种种可可可可将将将将数数数数值值值值返返返返回回回回到到到到它它它它们们们们的的的的名名名名称称称称的的的的程程程程序序序序。像像像像“sinsinsinsin()”、“abs(abs(abs(abs()”这这这这些些些些都都都都是是是是函函函函数数数数都都都都是是是是内内内内部部部部函函函函数数数数,现现现
18、现在在在在我我我我们们们们要要要要来来来来讲讲讲讲讲讲讲讲外外外外部部部部函函函函数数数数,外外外外部部部部函函函函数数数数和和和和变变变变量量量量一一一一样样样样在在在在使使使使用用用用之之之之前前前前也也也也是是是是要先申明。它们的结构如下图所示。要先申明。它们的结构如下图所示。要先申明。它们的结构如下图所示。要先申明。它们的结构如下图所示。Function Function Function Function 函数名(参数函数名(参数函数名(参数函数名(参数 As As As As 数据类型)数据类型)数据类型)数据类型)As As As As 数据类型数据类型数据类型数据类型 函数语句
19、函数语句函数语句函数语句函数名函数名函数名函数名 End Function End Function End Function End Function 我我我我们们们们可可可可以以以以引引引引用用用用程程程程序序序序名名名名称称称称来来来来调调调调用用用用该该该该程程程程序序序序,但但但但Visual Visual Visual Visual BasicBasicBasicBasic提提提提供供供供了了了了一一一一个个个个关关关关键键键键字字字字CallCallCallCall,可可可可明明明明确确确确地地地地调调调调用用用用一一一一个个个个程程程程序序序序。在程序名前加上在程序名前加上在程
20、序名前加上在程序名前加上CallCallCallCall是一个很好的程序设计习惯。是一个很好的程序设计习惯。是一个很好的程序设计习惯。是一个很好的程序设计习惯。例如:例如:例如:例如:Public Function Public Function GetNumber(a,b,cGetNumber(a,b,c As Integer)As Integer As Integer)As IntegerGetNumberGetNumber=a+b=a+bc c End Function End Function 函函函函 数数数数 则则则则 会会会会 把把把把“a+b-c”a+b-c”的的的的 值值值值
21、 返返返返 回回回回 给给给给 函函函函 数数数数 名名名名“GetnumberGetnumber”,如如如如果果果果我我我我们们们们输输输输入入入入Getnumber(9,4,2)Getnumber(9,4,2),则则则则会会会会返回返回返回返回“9+4-2”9+4-2”即即即即“11”11”给函数给函数给函数给函数“GetnumberGetnumber”。“FunctionFunctionFunctionFunction”的的的的英英英英文文文文含含含含意意意意就就就就是是是是“函函函函数数数数”。它它它它在在在在这这这这儿儿儿儿用用用用来来来来作作作作为为为为函函函函数数数数申申申申明明
22、明明的的的的一一一一个个个个内内内内容容容容。在在在在它它它它后后后后面面面面跟跟跟跟着着着着的的的的就就就就是是是是这这这这个个个个函函函函数数数数的的的的函函函函数数数数名名名名。在在在在这这这这个个个个函函函函数数数数名名名名后后后后面面面面的的的的括括括括号号号号中中中中,列列列列的的的的是是是是这这这这个个个个函函函函数数数数中中中中的的的的参参参参数数数数。每每每每个个个个函函函函数数数数之之之之间间间间要要要要用用用用逗逗逗逗号号号号隔隔隔隔开开开开,并并并并用用用用“AsAsAsAs”语语语语句句句句后后后后跟跟跟跟“数数数数据据据据类类类类型型型型”来来来来定定定定义义义义数
23、数数数据据据据的的的的类类类类型型型型。括括括括号号号号外外外外面面面面的的的的“As As As As 数数数数据据据据类类类类型型型型”用用用用来来来来定定定定义义义义“函函函函数数数数名名名名”的。它表示函数返回的数据的数据类型。的。它表示函数返回的数据的数据类型。的。它表示函数返回的数据的数据类型。的。它表示函数返回的数据的数据类型。其其其其实实实实子子子子程程程程序序序序和和和和函函函函数数数数很很很很相相相相似似似似,这这这这两两两两种种种种类类类类型型型型的的的的过过过过程程程程都都都都可可可可以以以以接接接接收收收收参参参参数数数数,函函函函数数数数可可可可以以以以返返返返回回
24、回回单单单单一一一一的的的的数数数数据据据据值值值值,但但但但子程序不能。子程序不能。子程序不能。子程序不能。我我我我们们们们不不不不能能能能使使使使用用用用CallCallCallCall来来来来执执执执行行行行函函函函数数数数,必必必必须须须须以以以以该该该该函函函函数数数数的的的的名名名名称称称称引引引引用用用用它它它它才才才才行行行行。函函函函数数数数调调调调用用用用是是是是由由由由接接接接在在在在函函函函数数数数名名名名称称称称后后后后的括号所辨别的,也就是说,函数需要参数。的括号所辨别的,也就是说,函数需要参数。的括号所辨别的,也就是说,函数需要参数。的括号所辨别的,也就是说,函数
25、需要参数。另另另另外外外外,我我我我们们们们可可可可以以以以从从从从ACCESSACCESSACCESSACCESS中中中中任任任任何何何何地地地地方方方方执执执执行行行行一一一一个个个个函函函函数数数数,包包包包括括括括从从从从查查查查询询询询中中中中的的的的表表表表达达达达式式式式中中中中和和和和宏宏宏宏中中中中。然然然然而而而而你你你你只只只只能能能能从从从从一一一一个个个个函函函函数数数数、子子子子程程程程序序序序或或或或作作作作为为为为一一一一个个个个窗窗窗窗体体体体或或或或报报报报表表表表中中中中的的的的一个事件过程来执行子程序。一个事件过程来执行子程序。一个事件过程来执行子程序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计语言 VBA
限制150内