快速掌握VBA的方法之一是熟悉与VBA编程相关的一些术语。
(1)代码:指VBA语句,是指Office内置的VBA解释器能够执行的指令。与其他高级语言一样,VBA语句由简单的英语“助记符”组成。通过执行VBA代码,可以完成这些指令所定义的动作,从而实现对Office文档的修改和设置。一般而言,VBA的代码可以用任何的文本编辑器来编辑,但是,只有用VB编辑器(Visual Basic Editor,VBE)才能对VBA代码及其组成的模块进行良好的组织。
(2)书写规范:
VBA的代码是大小写无关的,但为了阅读方便,对关键首字母进行大写。
相同的代码群有相同的缩进。
一行即一条语句,行尾无符号。如果要在一行写多条语句,语句间用冒号 “:” 隔开;如果一条语句要分为两行,则第一行行尾加上续行符“ _”(半角空格和下划线)。
(3)注释:指代码中不会被执行的一段或者一行代码。注释往往用于说明对应代码的用途或含义。添加注释是良好的编程习惯之一。VBA中的注释以英文单引号“'”开头,其后的内容为注释,可以出现在一行中的任意位置上。
(4)变量:是存储数据的一种表达方式。在程序开始,可以声明一个变量,并指定变量的类型(数字、文本、逻辑值等)。这样在程序其他地方,就可以给变量赋值,并使用该变量,使其存储的值参与运算。
Dim aString as String ' 声明一个文本类型的变量
aString = "编号" ' 给变量aString赋值
Range("A1").Value = aString '将变量的值赋予A1单元格
(5)模块:指完成一定功能的若干组VBA代码。VBA模块存储在Office文档中,但利用VBE进行组织和维护。VBA模块主要由一些过程组成。
(6)过程:指完成某些任务的代码单元。VBA有两种过程:Sub过程和Function过程。
(7)Sub过程:Sub过程由一系列代码组成,可通过多种方法来执行过程。例如,下面的Sub过程即完成了将当前Word文档页面纸张方向设置为横向的任务:
Sub Page_Orent_landscape()
Selection.PageSetup.Orientation = wdOrientLandscape
End Sub
其中,“Sub”为过程标识,“Page_Orent_landscape( )”为编程者制订的过程名,中间为过程代码,“End Sub”为过程结尾标识。本过程的过程代码就是一条“赋值语句”,即将当前文档的页面设置的方向属性设置为“wdOrientLandscape”值,该值是VBA内置的常量,实际上就等于1。
(8)Function过程:为函数过程,可以输入参数,并且返回一个值(也可返回一个数组)。可以从另一个VBA 过程中调用Function过程,也可以在工作表公式中使用Function过程。例如,以下为将两个数相加的函数。
Function AddTwo(arg1, arg2)(www.xing528.com)
AddTwo = arg1 + arg2
End Function
其中,“Function”和“End Function”为函数的开头和结尾,“arg1”和“arg2”为参数,“AddTwo”为函数名,返回值即为函数名,可通过赋值语句获得返回值。
(9)对象:指一个事物,其中集成了描述对象性质的“属性”和操作对象的“方法”。一台计算机即一个对象,一台显示器也是一个对象,甚至一碟菜也是一个对象。
实际上,整个Office已经被完整地对象化:一个Word文档就是一个对象,任何一个段落、字符、图表、图表标题、图例等都分别是一个对象;同样,在Excel中,一个工作簿、工作表、单元格也都分别是一个对象。VBA可以处理Office中的各种对象。
(10)集合:类似的对象所形成集合。例如,Worksheets集合由特定工作簿中的所有工作表组成。集合本身也是对象。
(11)对象的层次性:对象类具有层次结构。对象中可以包含其他对象。例如,Excel的顶级对象是称为Application的对象,它又包含了工作簿集合Workbooks,集合中的每一个工作簿可以包含其他对象,如Worksheets集合。然后,Worksheet包含了Range集合或Chart对象等。对象排列模式即对象模型。
引用对象时,在容器和成员之间使用句点“.”作为分隔符,而集合中的对象则用括号加引号引用。例如,对于文件名为Book1.xlsx的工作簿,有下列语句:
Application.Workbooks("Book1.xlsx")
Application.Workbooks("Book1.xlsx").Worksheets("Sheet1")
Application.Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1")
第一条引用位于Application对象中包含的Workbooks集合中的Book1.xlsx工作簿。
第二条引用Book1.xlsx工作簿工作表集合中的Sheet1工作表。
第三条引用工作表集合中Sheet1工作表的A1单元格。
(12)活动对象:指正在被操作的对象。由此可以省略高一级的对象引用,减少对象引用层次。例如,如果Book1.xlsx是活动工作簿且Sheet1为活动工作表,则对单元格的引用可以简化为“Range("A1")”。
(13)对象属性:说明对象性质的值。对于Office对象,即指众多的选项值。例如,Range对象的RowHeight属性即为行高。利用VBA对这些属性赋值,就是设置特定的选项。例如,“Range("A1:B1").RowHeight = 24”即将A、B行的行高改为了24。
(14)对象方法:指对象可以执行的操作。例如,Range对象的方法之一为ClearContents,即清除单元格区域的内容。对象方法的使用仍然是句点“.”作为分隔符。
(15)事件:有的对象可以辨别出具体的事件。Excel中有两类事件:工作簿事件和工作表事件。例如,“Private Sub Workbook_Open( )”为打开工作簿时触发的事件,而“Private Sub Worksheet_Activate( )”为切换到工作表时触发的事件,Private将这一事件限制在了被操作的工作簿/工作表内。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。