VBA入门指南—如何看懂代码

上传人:宝路 文档编号:20894167 上传时间:2017-11-22 格式:DOC 页数:62 大小:970.62KB
返回 下载 相关 举报
VBA入门指南—如何看懂代码_第1页
第1页 / 共62页
VBA入门指南—如何看懂代码_第2页
第2页 / 共62页
VBA入门指南—如何看懂代码_第3页
第3页 / 共62页
VBA入门指南—如何看懂代码_第4页
第4页 / 共62页
VBA入门指南—如何看懂代码_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《VBA入门指南—如何看懂代码》由会员分享,可在线阅读,更多相关《VBA入门指南—如何看懂代码(62页珍藏版)》请在金锄头文库上搜索。

1、初识 VBA既然题目是初识 VBA,那么我想先给大家一个直观的感受 什么是 VBA?,往往在一些 EXCEL 的教材中,都会讲:VBA 是一种自动化语言 ,它可以使常用的程序自动化 ,可以创建自定义的解决方案。就我看书学习的经验来说,我感到这样的定义式的描述带有很典型的中国式教材的风格,然而却不能让人立即理解,那么这样的定义有什么用呢?我给 VBA 下的定义是:VBA 是一些代码的组合。可能这个定义没有上面教材的定义那么严谨和准确,但我想你一看就应该能明白,原来 VBA 就是写代码,或者说就是写程序。 (如果掌握了 VBA,居然我也能写程序了惊喜吧?)那么你用了这么久的 EXCEL,可能从来没

2、在 EXCEL 的 XLS 文件中看到过代码,难道就写在单元格里?那我就带你去找找,VBA 的代码藏在哪里吧,这也正式我今天要谈的第二个问题。当你打开一个 EXCEL 文件,你只能看到由许多单元格组成的工作表,这时,你可以通过【视图】菜单的【工具栏】项目,打开一个工具栏,名字叫“控件工具箱 ”,从左往右属第三个按钮,名字叫“查看代码”,点一下,就可以打开 VBA 代码编辑窗口。更简单的方法是,通过【ALT】+【F11】的快捷键,打开 VBA 代码编辑窗口,看到了吧,原来代码就是藏在这里的哦怎么写代码呢?你也太心急了点吧,你还没掌握命令、语法、关键字、对象、事件、属性等等内容,就想写代码?一口是

3、吃不成个胖子的,还是让我来带你先认识下这里的每个角落吧,就像进了一间陌生的屋子,总归每个角落都得转到吧?最上面的几行,和 EXCEL 以及每一个微软平台下的应用程序都一样,总归是标题栏、菜单栏、工具栏等,接下来,看左边,有一个纵栏,写着“工程-VBAProject”,这里是工程资源管理窗口,里面通过树形列表展示了这个 XLS 文件(或者标准的应该叫“工作簿” )所包含的各个工作表对象以及工作簿对象本身。有什么用呢?你双击任何一个 SHEET,比如 SHEET1,试试?是不是在右侧打开了一个文档编辑窗口?那么你就能明白,如果是 SHEET1 的代码,就应该写在这里了,那么 SHEET2 的呢?当

4、然就写在双击 SHEET2 后打开的窗口里咯那么 SHEET3 呢?你烦不烦啊人家都明白了!再看看右侧的文档窗口吧,顶上有两个下拉列表框,一个写着“通用”,一个写着“声明”,什么东东啊?左边的那个是对象列表框,可以让你选择在这个 SHEET 里面包含的所有对象,右边的那个是过程列表框,可以让你选择和左侧当前选中的对象关联的系统或自定义过程。那么什么是对象?什么又是过程呢?今天没时间了,什么?领导要我马上去开会?不会加工资了吧?哈哈,明天继续!昨天我们在 VBA 代码编辑器里转了一圈,是不是有别有洞天的感觉啊?可是,这里对于大家都是陌生的环境,到底该怎么用这里的每一个工具呢?别心急,且听我慢慢道

5、来。在讲代码之前,我首先必须介绍一下OOP 的概念和基本知识。去去去,怎么你也学着那些教材里挑些专用名词来忽悠我们啊?呵呵,因为这样才能体现作者,也就是本人的水平啊!(别扔鸡蛋,说你呢!下次不说了,还不行吗?)所谓 OOP 就是指 Object Oriented Programming,即面向对象的程序设计方法,这种程序设计思想主要是相对于以前的面向过程的程序设计方法而言的。下面我就给大家讲个故事,很久很久以前,写程序还是很专业很神秘的一种技术活,这个时候的程序员写出来的东西,是必须要按照他给你安排好的步骤来执行的,比方说,你运行一个程序,必须先输入一条打开数据表的命令,然后才能对这个数据表进

6、行操作,否则就会报错,甚至对于有些设计不完善的程序就会崩溃。这样写出来的程序一个是缺乏灵活性,难道作为用户就不能自己决定先浏览还是先打印?另一方面,对于那时候写出来的程序,如果将来要修改或扩充功能,那将牵一发而动全身,也为在设计这些功能的时候是一步一步安排好的,如果要修改后面的步骤,必然会影响到前面的代码,这样导致了程序员非常累。 (所以高薪啊其实也不过是重复劳动,呵呵) 。后来,出来了一个聪明人,写出了一个叫“Smalltalk”的语言,这个语言本身并没有什么特别的地方,但其中其中表现出来的接近现实形态描述的对象思想却让整个软件设计理论提升了一个新的层次。说这些和我有什么关系啊?呵呵,下面的

7、东西就和你有关了,也为现在的基于可视化架构的程序设计基本都引入了 OOP的思想,所以如果你将 OOP 中最主要的概念搞清楚了,那么将对以后的学习奠定扎实的基础。面向对象的程序设计思想中主要包含四个概念。对象、事件、方法和属性。别看这些概念这么复杂,我给大家举个例子就明白了。对象是什么?就像现实中看得见摸得着的东西一样,是实实在在的东西。比如,一个苹果,就可以作为一个对象,围绕对象概念,延伸了一个“类” 的概念,什么是类呢?苹果就是一个类。晕,刚才还说苹果是对象呢,怎么一会又成了类了?其实作为类而言的苹果的概念,就是指区别于梨和橘子的苹果类的概念,而不是具体指某一个苹果。红苹果、绿苹果都属于苹果

8、这个类,哪怕烂苹果也是。 (别扔啊!)我们在设计程序的时候,可以定义一个自己的类,这样以后要用到这类对象的时候,就可以通过这个类来派生出来,而不用每次都去写定义。还有个好处是,以后修改对象属性的时候,就可以通过修改类的属性来达到同时修改通过这个类派生的所有对象的属性的目的。对象的基本概念还有三个,属性、方法和事件。苹果的颜色可以看作苹果这个对象的一个属性,苹果的大小也可以看作他的一个属性,你自己还能说出什么属性吗?恩,重量、好坏、产地等等。慢点,价格是不是啊?这个问题留给大家思考吧。从上面的例子可以看出,属性是描述对象在某一方面的特征的,通过不同属性的值就可以区别开不同的对象。方法呢?对于苹果

9、来说“吃” 就是方法,啥?吃苹果也是方法?恩,别馋啊,对苹果而言,吃就是方法,因为这个是可以作用于这个对象的,还能举个例子吗?比方相对于表格对象的方法就可以是打开、关闭、修改等。方法是用来作用于对象,使其产生某种变化的。事件是什么呢?事件就是被设计用来触发某些代码来自动执行的,这个就叫做事件驱动机制。还记得刚才我们谈到的面向过程的程序设计方法的缺点吗?对,代码的执行顺序是由设计者在设计时指定的。这种吃力不讨好的事情,劝大家以后还是少做做。我们有了事件驱动机制以后,这样的情况就可以避免了。现在,可以通过将代码写在可能发生的事件中的办法,由用户决定啥时候运行这些代码,只要程序运行时,用户的操作行为

10、触发了相应的事件,那么该事件中定义的代码,就会被自动执行了。因为大家都刚接触 VBA,可能光听我介绍还没有直观的感受,为了帮助大家理解,下面先介绍两个方法,可以让大家看到更多的东西。首先要介绍的是对象浏览器。打开这个对话框有三种方法。 (中国的教材和教育模式下的考试,最喜欢列举完成一件事情的方法,我就纳闷,只要能解决问题,知道了一条路,干嘛还要打破沙锅问到底?)一个是通过【视图】菜单的【对象浏览器】项目,另一个是在工具栏上点击【对象浏览器】按钮。最方便的是按【F2】快捷键。打开了以后,大家看到了一个新的窗口,这里列举了三种信息,最上面的部分是用来搜索和查找信息的,中间的部分分了三栏来分别列举“

11、库” 、 “类”和“ 成员”信息。最下面是提示和说明部分,用来说明当前选中对象的信息。为什么要介绍对象浏览器呢?大家通过这个工具可以搜索到和 EXCEL 以及 VBA 有关的各种各样的“类 ”和“对象”。顺便说一下,这里说的 “成员”基本相当于对象、属性、方法和事件;类是成员的上级;很多类又组成了一个类库,在这里叫做“库” 。以后大家如果有不明白的类,就可以在这里找到这个类有哪些对象、属性、方法和事件,以及他们之间是什么层级关系。其次,简单介绍下如何使用帮助。其实按照微软的体系,VBA 的帮助包括了两个部分,一个是本地脱机帮助,也就是安装完 OFFICE 软件就自带的帮助,这里只是简单的介绍了

12、 VBA 的基本信息。 另一个部分则被微软放在了 MSDN 里面,这是微软单独提供给微软平台的开发人员的独立帮助工具,其中包含了非常详细的各种编程信息、技巧和案例。通过仔细研读 MSDN 里的内容,可以快速掌握之前不了解的编程知识,并且 MSDN 总是被微软的工程师们不断更新并保持着最新的状态。下面,我们就继续昨天的内容,接着讲面向对象的编程。什么?昨天的已经都忘记了?那就先回头去看看再继续吧。今天主要给大家介绍 VBA 中最常用到的一些关键字。什么是关键字,关键字就是那些在 OFFICE 软件里已经被定义好了特定含义和用法的字符串。比方说, “IF”这个字符串,表示“如果”的意思,在 VBA

13、 里用来表示条件语句的起始,那么关键字和普通字符串有什么区别呢?关键字被规定为不可以用来表示变量名、过程名、函数名等用户定义的信息,只能根据系统规定的含义使用。也就是说,你如果有个变量起个名字叫“IF”,你写一条赋值语句“IF = 1”,这样系统在编译的时候就会提示一个错误,而不能通过编译和运行。想看看 VBA 里一共有多少个关键字吗?从明天开始,我们将开始一一给大伙讲解,欢迎继续关注。代码起步关键字第一课今天开始,我们将正式进入代码的学习阶段。我多年以来的授课经验告诉我,学代码应该从关键字开始。下面列举了一些常见的关键字给大家先了解下。【框架类关键字】工程(Project): 是指用于创建一

14、个应用程序的文件的集合。对象(Object): 可控制的某个东西,例如窗体和控件。窗体(Form): 应用程序的用户界面。控件(Control): 指的是各种按钮、标签、文本框等。属性(Property ):是指对象的特征,如大小、标题或颜色。工作表(Worksheet):指 EXCEL 文件里的工作表,例如 sheet1、sheet2 等。模块(Module):指在 VBA 工程中存放独立于用户定义对象代码的容器。过程(Sub):容纳和组织代码的限定符号,一般和 End Sub 联用,不返回结果。函数(Function):容纳和组织代码的限定符号,一般和 End Function 联用,并返

15、回结果。【控件类关键字】标签(Label):用来显示文本。文本框(Textbox):用来提供给用户输入文本。命令按钮(CommandButton):用来组织和提供程序功能。列表框(ListBox ):用来提供给用户选择列表中的数据。组合框(ComboBox):用来提供给用户下拉选择列表中的数据。选项按钮(OptionButton):用来提供给用户指定单项数据,一般成组使用。复选框(CheckBox ):用来提供给用户指定多项数据,一般成组使用。【声明类关键字】Public:声明公共类型的数据;Private:声明私有类型的数据;Static:声明静态类型的数据;Dim:声明数据类型;如:Dim

16、 myCell As RangereDim:定义未显式声明的数组的维数和元素;Const:声明常量数据;如:Const limit As Integer = 33As:一般用于声明数据类型中的“As Type”子句;Type:声明用户自定义数据类型;【数据类型关键字】Byte:字节类型;Integer:整型数值类型;Long:长整型数值类型;String:字符串类型;Boolean:逻辑类型;Single:单精度类型;Double:双精度类型;Currency:货币数值类型;Decimal:可以容纳小数的数值类型;Variant:任何数字值或字符串值;Object:对象类型;用户自定义:利用 TYPE 语句由用户自己定义的数据类型。【运算符关键字】这类关键字太多了,而且有很多种分类方法,比如按参数个数分为单目运算符、双目运算符、三目运算符和多目运算符等,按参与运算的参数类型可以分为数值运算符、字符运算符、逻辑运算符、日期运算符、字节运算符等,按照运算符的作用范围

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号