前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >过程(二)Sub过程的定义和调用

过程(二)Sub过程的定义和调用

作者头像
无言之月
发布2019-10-13 16:15:22
4.9K0
发布2019-10-13 16:15:22
举报

大家好,上节主要介绍了VBA过程的定义和分类,本节主要介绍Sub过程的定义和调用。

一、定义Sub过程

在编写代码时,都要现在模块中定义过程,通常都是输入sub 过程名称后回车,或者选择对象和对应的事件后,程序自动生成过程的外部结构如下图所示:

定义过程有两种方法,一种是用窗体创建过程的结构,在过程中编写相应的代码,这里不多介绍,另一种则是我们习惯使用的在模块中直接输入代码来定义过程。sub过程的完整结构如下:

[ Private |Public|Friend ] [Static] Sub 过程名 [(参数列表)]

语句序列

End Sub

整个过程由Sub、End Sub和中间的代码组成,前面见过的形式是Sub前没有关键字或者事件过程Private。那么Sub前面的关键字分别是什么意义呢?

Public:可以省略,即默认关键字,表示所有模块的所有其他过程都可以访问整个sub过程。(通常收入输入sub创建的就是这类,可以被调用访问。)

Private:表示只有在包含其声明的模块中的其他过程可以访问该sub过程。(事件过程前会有Private关键字。)

Friend:只能在类模块中使用,表示该sub过程再整个工程中都是可见的,但对对象实例的控制者是不可见的。

Static:表示在调用Sub过程的局部变量的值。Static属性对在sub之外声明的变量不会产生影响,即使过程中使用了这些变量。

定义Sub过程时可以根据需要选择关键字,省略状态时为Public。

需要注意的点是:

1、sub过程不能嵌套,即不能将过程的定义放在另一个过程中。

2、每个sub过程必须有一个end sub语句结束,另外在过程中可以使用一个或多个Exit Sub语句直接退出过程的执行。

3、每一个过程都必须对应一个名称,通过过程名称可以调用该过程,过程名称的命名需要符合标识符的命名规则。

二、调用Sub过程

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

在VBA中经常通过调用定义好的过程来执行程序,Sub过程的调用分两种方式,一种是在VBA中调用Sub过程,另一种是在Excel中以调用宏的方式,

1、使用VBA代码调用sub过程

在程序中调用sub过程又两种方式,一种是把过程名方在一个CALL语句中,另一种是把过程作为一个语句来使用。(实际就是省略了call)

call语句的语法格式很简单。

call 过程名(过程参数列表) 或者 过程名 参数列表

过程参数有多个时,用英文逗号间隔,如果没有过程参数,可以省略。(为了程序的易读性通常不省略call。)如之前的调用dingshi的实例。

2、以宏的方式调用sub过程

比较常用的,就是插入表单控件按钮等,然后在指定宏的窗口中,绑定指定的Sub过程,即可以用于调用。(以宏方式调用Sub过程无法给过程传递参数,所以通过宏只能调用无参数的Sub过程。)


本节主要介绍Sub过程的定义和调用,重点是Sub过程的关键字和注意点。下一节会介绍过程如何传递参数。祝大家学习快乐。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel和Access学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档