面向对象程序设计语言-VBA

面向对象程序设计语言-VBA

ID:38493235

大小:515.55 KB

页数:51页

时间:2019-06-13

面向对象程序设计语言-VBA_第1页
面向对象程序设计语言-VBA_第2页
面向对象程序设计语言-VBA_第3页
面向对象程序设计语言-VBA_第4页
面向对象程序设计语言-VBA_第5页
资源描述:

《面向对象程序设计语言-VBA》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十一章面向对象程序设计语言-VBA11.1VBA概述虽然宏很好用,但它运行的速度比较慢,也不能直接运行很多WINDOWS的程序。尤其是不能自定义一些函数,这样当我们要对某些数据进行一些特殊的分析时,它就无能为力了。由于宏具有这些局限性,所以在给数据库设计一些特殊的功能时,需要用到“模块”对象来实现,而这些“模块”都是由一种叫做“VBA”的语言来实现的。使用它编写程序,然后将这些程序编译成拥有特定功能的“模块”,以便在Access2000中调用。VB,就是微软公司推出的可视化BASIC语言,用它来编程非常简单。因为它简单,而且功能强大,所以微软公司将它的一部分代码结合到OFFIC

2、E中,形成我们今天所说的VBA。它的很多语法继承了“VB”,所以我们可以像编写VB语言那样来编写VBA程序,以实现某个功能。当这段程序编译通过以后,将这段程序保存在Access中的一个模块里,并通过类似在窗体中激发宏的操作那样来启动这个“模块”,从而实现相应的功能。“模块”和“宏”的使用是差不多的。其实Access中的“宏”也可以存成“模块”,这样运行起来的速度还会更快。“宏”的每个基本操作在“VBA”中都有相应的等效语句,使用这些语句就可以实现所有单独“宏”命令,所以“VBA”的功能是非常强大的。需要使用VBA程序代码作为Access操作指令的一部分的原因:建立用户自定义的函数

3、(UDF)代替重复使用的表达式。编写包含有比Iif()函数更复杂的决策结构的表达式。想要执行标准Access宏不支持的操作,例如:想要进行事务处理。想要同时打开两个或两个以上数据库。想要提供应用程序源文件复制的功能。11.2模块、函数及程序既然我们要编写“VBA”程序,就需要先看看“VBA”的开发环境。“VBA”的开发环境是开发“VBA”程序相应的“设计器”,但我们不这么称呼它,而是叫它“VBA开发环境”,这种说法是继承了计算机语言对开发器的一种统一叫法。我们首先要打开一个数据库,然后选定数据库窗口上的“模块”选项,再用鼠标单击数据库窗口上的“新建”按钮,这时就会弹出一个窗口,这

4、就是“VBA”的“开发环境”,如下图所示。VBA开发环境分为“主窗口”、“模块代码”、“工程资源管理器”和“模块属性”这几部分。“模块代码”窗口用来输入“模块”内部的程序代码。“工程资源管理器”用来显示这个数据库中所有的“模块”。当我们用鼠标单击这个窗口内的一个“模块”选项时,就会在模块代码窗口上显示出这个模块的“VBA”程序代码。而“模块属性”窗口上就可以显示当前选定的“模块”所具有的各种属性。模块对象是将VisualBasicforApplication(简称宏语言VBA)编写的过程和声明作为一个整体进行保存的过程的集合。一个模块包含一个声明区域,且可以包含一个或多个程序(以

5、sub开头)或函数(以Function开头),模块的声明区域是用来声明模块使用的项目(通常是变量)。程序又称为子程序。程序可以调用其他的程序,此时,被调用的程序叫做子程序(SubProcedure)。程序是由开始与结束的关键字定义的,如:Sub子程序名(参数As数据类型)As数据类型子程序语句EndSub函数是一种可将数值返回到它们的名称的程序。像“sin()”、“abs()”这些都是函数都是内部函数,现在我们要来讲讲外部函数,外部函数和变量一样在使用之前也是要先申明。它们的结构如下图所示。Function函数名(参数As数据类型)As数据类型函数语句函数名=<表达式>EndFu

6、nction我们可以引用程序名称来调用该程序,但VisualBasic提供了一个关键字Call,可明确地调用一个程序。在程序名前加上Call是一个很好的程序设计习惯。例如:PublicFunctionGetNumber(a,b,cAsInteger)AsIntegerGetNumber=a+b-cEndFunction函数则会把“a+b-c”的值返回给函数名“Getnumber”,如果我们输入Getnumber(9,4,2),则会返回“9+4-2”即“11”给函数“Getnumber”。“Function”的英文含意就是“函数”。它在这儿用来作为函数申明的一个内容。在它后面跟着的

7、就是这个函数的函数名。在这个函数名后面的括号中,列的是这个函数中的参数。每个函数之间要用逗号隔开,并用“As”语句后跟“数据类型”来定义数据的类型。括号外面的“As数据类型”用来定义“函数名”的。它表示函数返回的数据的数据类型。其实子程序和函数很相似,这两种类型的过程都可以接收参数,函数可以返回单一的数据值,但子程序不能。我们不能使用Call来执行函数,必须以该函数的名称引用它才行。函数调用是由接在函数名称后的括号所辨别的,也就是说,函数需要参数。另外,我们可以从ACCESS中任

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。