过程(一)定义和分类

2019-10-13 16:15:39 浏览数 (1)

大家好,在介绍VBA基础知识、对象模型、事件等知识过程中,已经使用了很多次的过程,但对过程的认识并不规范。本节就对过程具体整理。

一、过程的定义

过程是指由一组完成指定任务的VBA语句组成的代码集合。

实际上用Excel VBA开发应用程序就是在编写过程。

如上图所示,创建过程既有在模块中输入sub和程序名称,也有使用Excel事件时选择对象和事件来创建的。这就涉及过程的不同类型。

二、过程的分类

过程主要分为三类,通用过程、事件过程和属性过程,其中通用过程又分为Sub(子程序)过程和Function(函数)过程。

前面已经接触过事件过程和Sub(子程序)过程。

1、事件过程

事件过程就是学过的excel事件,包括工作簿事件、工作表事件、窗体控件事件、以及ontime和onkey事件等等。

事件过程,在对应的模块中选择对象和事件后,会自动添加事件过程的代码。只需在过程中编写代码即可。(具体参照Excel事件部分学习。)

2、属性过程

在”类模块“中设置类的属性时,可通过”属性过程“来完成,后续如果有机会介绍类模块时再做介绍。

3、通用过程

有时再不同的事件过程中,需要执行一段相同的代码,就可以把这段代码独立出来,作为一个过程,这样的过程称为“通用过程”。

在VBA中通用过程又分为两类:Sub(子程序)过程,和Function(函数)过程。

Sub过程:这类过程完成指定的任务,执行结束后不返回值。

Function过程:这类过程完成指定任务,并返回一个值供调用的程序使用。

通用过程都保存着在VBA的“模块”中,一个模块可以包含任意数量的过程,同时一个VBA工程也可以包含任意多个模块。(如下图可以创建过个模块,在一个模块中也可以添加多个过程。)

对于通用过程的理解,在介绍事件的案例,“每隔一分钟定时保存工作簿的案例中,实际就是在模块中定义了dingshi和baocun两个通用过程。这两段代码过程被独立出来可以执行一些功能。

然后在thisworkbook模块中创建workbook_open事件过程,在过程中调用dingshi过程来实现功能的。

使用过程的目的就是将一个应用程序划分成很多小模块,每个小模块完成一个具体的功能,然后通过组合这些过程来完成大的功能。


本节主要简单介绍过程的定义和分类等,下节主要介绍Sub(子程序)过程的调用和参数问题,祝大家学习快乐。


vba

0 人点赞