精通Excel VBA
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 VBA概述

VBA是Office中包含的一种用来扩展Office功能的Basic语言。下面首先介绍Basic、Visual Basic和VBA之间的关系。

1.1.1 Basic语言

Basic语言是高级程序设计语言的一种,英文全名是“Beginner's All-Purpose Symbolic Instruction Code”,翻译为中文是“适用于初学者的多功能符号指令码”。Basic是一种在计算机发展史上应用最为广泛的程序语言,该语言诞生于1964年。由于Basic语言简单易学,适合初学者使用,因此很快就流行起来,几乎所有小型、微型计算机,甚至部分大型计算机,都允许使用这种语言编写程序。

1.1.2 Ⅴisual Basic简介

Visual Basic简称VB,是在早期的Basic语言的基础上发展而来的,保持了原来Basic语言简单易学的特点,同时增加了结构化和可视化程序设计语言的功能。使用Visual Basic可快速开发Windows环境下功能强大、图形界面丰富的应用程序。Visual Basic的主要特点如下。

• 可视化编程环境:Visual Basic提供了可视化设计工具,隐藏了Windows界面设计的复杂性。一般情况下,开发人员不需要为界面编写复杂烦琐的代码,只需像绘画一样画出相应的控件,Visual Basic将自动生成界面设计代码,这提高了应用程序的开发效率。

• 面向对象程序设计:Visual Basic支持面向对象的程序设计方法。面向对象的程序设计认为,现实世界是由一组彼此相关并互通信息的实体——对象(Object)组成的,例如电话机、电视机、桌子等都可看作对象。一个对象包含描述对象状态的数据和描述对象行为或功能(方法)的编码。数据和编码紧密结合,共同构成一个对象。例如建立一个“员工”对象,它既有姓名、性别、年龄、学历(大学生、中学生、小学生……)等数据,也有工作、休息等行为(方法)。

• 事件驱动编程:在Basic程序设计时,开发人员设计了代码的执行顺序。一般程序总是有一个明显的开头和结尾。但用事件驱动编程时,代码并不按照预定的路径执行,而是根据不同的事件调用不同的子过程,这些过程分别面向不同的对象。当用户执行操作(如单击按钮或输入数据)时引发某个对应的事件过程,也可由操作系统或其他应用程序来引发某个事件过程。

使用Visual Basic开发应用程序,其实就是编写各对象的事件过程代码。例如对于按钮控件,如果在需要用户单击该按钮时显示一个提示信息,就必须对该按钮的Click(单击)事件编写代码。

Visual Basic程序语言不只能用于Visual Basic,包含在Microsoft Excel、Microsoft Access及许多其他Windows应用程序中的VBA也使用了与Visual Basic同样的语言,所以学会Visual Basic之后,还可以将它应用到其他不同的领域中。

1.1.3 ⅤBA

VBA是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。所谓应用程序自动化,是指通过编写程序让常规应用程序(如Excel、Word等)自动完成工作,例如在Excel里自动设置单元格的格式、多张工作表之间自动计算等。

VBA是Visual Basic的一个子集,VBA不同于VB,原因是VBA要求有一个宿主应用程序才能运行,而且不能用于创建独立的应用程序;而VB可用于创建独立的应用程序。VBA可使常用的过程或者进程自动化,可以创建自定义的解决方案,最适用于定制已有的桌面应用程序。VBA根据其嵌入软件的不同,增加了对相应软件中的对象的控制功能。例如Excel的VBA增加了控制Excel工作簿、工作表、区域、数据透视表等对象的属性、事件和方法。在Excel中使用VBA,可以更好地控制Excel,进一步发掘Excel的强大功能,提高Excel的自动化水平。总之,可以用很短的时间在Excel环境中开发出一套完整的管理信息系统。

VBA作为应用程序自动化语言,是可以在各组件中通用的。当学会了在Excel中使用VBA时,就已经具备了在其他Office组件(如Word、Access等)中使用VBA的基本知识。另外,VBA不仅仅应用在微软的应用程序中,在AutoCAD、CorelDRAW等应用程序的新版本中也集成了VBA。