目录什么是VBA对象、属性和方法数据类型、变量和常量赋值语句、运算符和内部函数内部对话框程序流程控制语句模块、子程序和函数用户窗体和控件自定义菜单与工具条若干实例0什么是VBA像BorlandDelphi、VC++及其它的应用程序一样,VBA是一种应用程序开发工具,但是与它们不同,VBA是唯一由其他应用程序控制的应用程序开发工具,它可以增强其他应用程序的功能。VBA实际上是建立在Office中的标准宏语言,可以有效的自定义和扩展那些使用了VBA应用程序的功能。VBA实际上是VB的派生体,为了在应用程序中使用方便而有针对性的优化和设置了VB。1对象、属性和方法目前,面向对象程序设计(object-orientedprogramming,简称OOP)被广泛使用,主要是因为它采用了模块化设计,可以实现四个目标:可检验的(verifiable);可修正的(revisable);可重复使用的(reusable);可移植的(transportable)。或说具有三个基本概念的支持:数据封装、继承性和多态性。在OOP中,代码对象是一个容器(container),容器中包括数据和处理该数据的代码,即对象的属性和方法都包含在对象的定义中。代码对象具有属性和方法。属性(properties)是对象的外部可见数据(visible-data);方法(methods)是对象处理数据的过程。其中,外部可见数据是在对象外部可以存取的数据,属性可以是对象处理的数据,或者用来控制对象的行为和外观。当执行一个方法时,该方法仅处理对象所包含的属性,一个对象的方法不能直接改变另一个对象的属性值,但是一个对象的方法可以请求其他对象自行改变它们自己的属性值。一个对象可以基于对另一个对象的描述。代码对象还可以是其他较大代码对象的组成部分,即对象可以组合。当一个对象是另一个对象的组成部分时,后者就要继承(inheritance)前者的所有属性和方法。为存取组合对象的属性和方法,书写格式必须从最外层容器对象开始向内层写,直至需要存取属性和方法的那个对象,对象名间用小数点分隔。许多对象可以具有相同的方法,不同对象调用该方法都会产生正确的操作。每个对象是一个特定的、唯一的事物。一个类(class)则是指具有特定类型的所有对象,所以类是对象定义的最高级别,可以用一个类来创建一个对象。Excel对象包括工作表、工作簿、图表和单元格区域等,菜单、工具条以及Excel工作表函数库也都是对象。对象集合在VBA中使用集合(collection)来存取大多数工作表对象。如Workbooks,Worksheets等。格式为:集合(“成员名称”);或:集合(“整数值”),其中整数值表示成员位置序号。如工作簿名为Sales,且工作表West位于该工作簿的第二个表,则下列代码用于存取同一工作表。Workbooks(“Sales”).Worksheets(“West”)Workbooks(“Sales”).Worksheets(2)获取集合的信息SubGetInformation()Worksheets(1).Range("B2").Value='Count属性是统计该集合中成员的个数Worksheets(1).Range("B3").Value='Parent属性包含集合的父对象的名称Worksheets(1).Range("B4").Value=Worksheets(3).NameEndSub在集合中增加、'在工作表集合的开头添加一个缺省类型的新工作表Worksheets(3).Delete'删去第3个工作表用Range对象存取单元格工作表上的单个单元格并不是对象,工作表上的单元格是通过Range对象来存取的。一个Range对象是工作表上的任意单元格或单元格的矩形组。通过Union函数将互不连通的单元格组合成一个Range对象。生成Range对象的三种可用方法是:Range方法Cells方法Offset方法Range方法Range方法是用途最广的一种方法。SubtheRanges()Worksheets(1).Range("B1").Value=1'单个单元格Worksheets(1).Range("D2","B2").Value=2'矩形区域Worksheets(1).Range("B3:D3").Value=3'矩形区域Worksheets(1).Range("B4,E5,D6").Value=4'三个孤立的单元格Union(Worksheets(1).Range(“B7:D7”),Worksheets(1).Range(“C8”)).Value=5'两个不连通的区域Worksheet
VBA培训课程 来自淘豆网m.daumloan.com转载请标明出处.