首页 » 人工智能 » 标准模块代码(Standard Code Modules)的深度解读

标准模块代码(Standard Code Modules)的深度解读

东易日盛家居装饰集团股份通讯 2025-03-11 0

扫一扫用手机浏览

文章目录 [+]

大家好,我们这讲开始一个新的专题,这个专题中我们首先讲解一下VBA代码运用的模块(module),然后先容给大家如何利用VBA代码实现已经打开文件的自动关闭。

我们要知道,模块是代码的容器。
所有代码必须写在模块中才能实行。
可以将模块看做为一个文件,实际上,我们确实可以将模块导出为一个文本文件。
在一个模块中,可以包含几个过程。
对付一个小的工程,可以将所有代码放在一个模块中。
而对付大的、繁芜的项目,可以将代码写在几个模块中,以利于组织和修正。
在实行代码时,过程在哪个模块中并不主要。
来自一个模块的代码可以调用同一项目中任何其他模块中的代码(把稳所调用的过程浸染域不是私有的Private)。

标准模块代码(Standard Code Modules)的深度解读 标准模块代码(Standard Code Modules)的深度解读 人工智能

其余,我们也可以将一个模块文件,其文件名扩展名为bas,类模块文件,其文件名扩展名为cls或frm(用于用户窗体)通过从VBA编辑器的"文件"菜单中选择"导入"项,将该模块导入到项目中。
那么在VBA中代码又是如何进行分类呢?一样平常来讲,按模块分,代码的可以有四种类型:标准模块代码;事情簿和事情表模块代码;用户窗体模块代码;类模块代码,这个专题我将紧张给大家先容标准模块代码,事情簿和事情表模块代码的知识.对付窗体模块涉及到的内容类似于上述两个部分不再讲解,对付类模块大家可以参考我的专门教程"VBA中类模块的解读及运用"。

标准模块代码(Standard Code Modules)的深度解读 标准模块代码(Standard Code Modules)的深度解读 人工智能
(图片来自网络侵删)

第一节 标准模块代码(Standard Code Modules)

标准代码模块,是放置大部分VBA代码的地方。
对付新伎俩式员,所有代码都会将在标准模块中。
我们实现的绝大多数的功能也是在标准模块代码中完成的。
这讲的内容便是给大家讲解标准模块代码。

1 标准模块代码的组成

一个标准模块代码一样平常包含三个部分。
第一个是编译器指令部分,位于模块的最顶部,它包含诸如Option Explicit和Option Compare Text之类的指令。
但这些指令不是必需的,你可以根据自己的习气在须要的时候利用它们。
第二部分称为声明部分,可以声明了模块级或过程级范围的变量。
这些变量可以由模块中的任何过程访问,并且纵然在实行了一个过程或一组过程并修正了其值之后,这些变量仍保留其值。
声明部分也可以包含声明引用函数。
这些函数定义常日指向构成Windows操作系统的各种DLL文件中的函数。
这些语句Sub、Function或Property过程之前。
第三部分是模块中包含的实际代码。
代码部分包含实行实际事情的所有代码。

上面的代码是本专题将利用的代码,这段代码没有包含上面讲解的第一部分,没有设置逼迫变量的声明及比较的模式等等,但包含上面讲解的第二部分,这部分声明了一个正常的Public变量: RunWhen,这个变量是在全体工程中有效的。
还声明了一个常数的NUM_MINUTES,这个常数的意义便是我们将要经由多永劫光让这个文件自动关闭。
在上面的SUB过程便是我们前面提到的第三部分过程代码。

2 标准模块代码中的过程分类

过程是可以作为一个单元实行的代码块。
所有代码必须属于一个过程。
代码不能存在于过程之外。
虽然单个模块可以包含一定数量(<=1000)的单个过程,但常日最好将这些过程按干系功能分组为多个模块。
这使得项目的组织更好,并可以让某个过程代码得到多次的调用。
我们可以利用两种类型的过程。
(实际上,有三种类型,但这里不谈论属性过程。

第一个过程是SUB过程,这个过程可以自己运行,也可以被另一个过程调用,或者调用其余的过程。
须要把稳的是:sub过程不会向调用它的过程供应返回值,它只是实行,然后将程序运行的掌握权再返回给调用它的过程。
如果它没有被另一个过程调用,只是自己的运行,则终止代码实行。

第二个过程是函数Function过程,这个过程类似于SUB过程,只是函数可以将值返回给调用它的过程。
函数常日将一个或多个参数作为输入,并将单个值返回给调用者,调用者的值取决于输入参数的值。
我们来看看下面的的代码,SUB过程MYNZ调用函数过程CircleArea,将圆的半径通报给它。
CircleArea函数接管此输入,进行大略打算,并将结果返回给调用方过程。

Sub MYNZ()

Dim Area As Double

Dim Radius As Double

Radius = 11

Area = CircleArea(Radius)

MsgBox "The area is: " & CStr(Area)

End Sub

Function CircleArea(Radius As Double) As Double

CircleArea = 3.14159 (Radius ^ 2)

End Function

代码的截图:

上面的讲解中,无论是SUB过程还是Function过程,都是一个标准模块内的过程。

一个VBA程序工程可以包含任意多个标准代码模块。
这使得您可以很随意马虎地将您的过程划分为不同的模块,以便于组织和掩护。
例如,可以将所有数据库过程放在一个名为database的模块中,将所有数学过程放在另一个名为Math的模块中。
只要过程没有Private关键字声明,模块没有标记为Private,就可以从任何其他模块调用,而无需实行任何分外操作。

本节知识点回向:VBA中代码一样平常分为几类?标准模块代码一样平常分为几部分?SUB过程和

Function过程有什么不同?

本节内容详细代码"参考003事情表.XLSM"

VBA是利用Office实现自己小型办公自动化的有效手段,这是我对VBA的运用界定。
在取代OFFICE新的办公软件没有到来之前,谁能在数据处理方面做到极致,谁便是王者。
个中登峰至极的技能非VBA莫属!
学习VBA是个过程,也须要经历一种呆板的觉得,如太白诗云:众鸟高飞尽,孤云独去闲。
相看两不厌,只有敬亭山。

"水善利万物而不争",绵绵密密,微则无声,巨则彭湃。
学习亦如此,知道什么是自己所须要的,不要蜷缩在一小块自认为天国的天下里,待到晚年时再去做自欺欺人的辞吐。
要努力提高自己,用一颗充满活气的心灵,把握现在,这才是进取。
越是故意义的事情,困难会越多。
愿力决定始终,聪慧决定成败。
不管碰着什么,都是风景。
看淡纷争,看轻得失落。
茶,满也好,少也好,不要计较;浓也好,淡也好,个中自有值得品的味道。
去感悟真实的韶光,静下心,多学习,积累福报。
而不是每天混日子,也不是每天熬日子。
在后疫情更加严厉的存量残杀天下中,为自己的生存进行知识的储备,特殊是新知识的储备。
学习时微而无声,利用时则巨则彭湃。

我记得20年前自己初学VBA时,那时的资料甚少,只能看源码自己琢磨,真的很难。
20年过去了,为了不让学习VBA的朋友重复我之前的经历,我根据自己多年VBA实际利用履历,推出了六部VBA专门教程。

第一套:VBA代码办理方案 是VBA中各个知识点的讲解,覆盖绝大多数的VBA知识点,初学必备;

第二套:VBA数据库办理方案 数据库是数据处理的专业利器,教程中详细先容了利用ADO连接ACCDB和EXCEL的方法和实例操作,适宜中级职员的学习。

第三套:VBA数组与字典办理方案 数组和字典是VBA的精华,字典是VBA代码水平提高的有效手段,值得深入的学习,是低级及中级职员代码精进的手段。

第四套:VBA代码办理方案之*** 是专门面向初学者的***讲解,可以快速入门,更快的节制这门技能。

第五套:VBA中类的解读和利用 这是一部高等教程,讲解类的虚无与肉身的度化,类的利用虽然较少,但仔细的学习可以促进自己VBA理论的提高。

第六套教程:《VBA信息获取与处理》,这是一部高等教程,涉及范围更广,实用性更强,面向中高等职员。
教程共二十个专题,包括:跨运用程序信息得到、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板运用、Split函数扩展、事情表信息与其他运用交互,FSO工具的利用、事情表及文件夹信息的获取、图形信息的获取以及定制事情表信息函数等等内容。
如须要可以可以WeChat: NZ9668

学习的过程也是修心的过程,修一个沉着的心。
在代码的天下中,心沉着了,心情好了,身体自然而然就好。
心静则正,内心里没有那么多邪知邪见,也就没有那么多企图。
利人便是利己。
这些教程也是为帮助大家起航,助上我自己之力,我的上述教程是我多的履历的通报,大家可以根据以上资料1,3,2,6,5或者是4,3,2,6,5的顺序逐渐深入的逐渐学习。

每一分收成都是发展的记录,怎无凭,正是这种执着,造诣了朝霞的残酷。
末了将一阙词送给致力于VBA学习的朋友,让大家感想熏染一下学习过程的呆板与执着:

浮云掠过,暗语无声,

唯有清风,惊了梦中啼莺。

望星,疏移北斗,

奈将往事雁同行。

阡陌人,昏灯明暗,

忍顾长亭。

多少VBA人,

暗夜中,悄声寻梦,盼却天明。

怎无凭!

分享成果,随喜正能量

标签:

相关文章

小升初语文实用语文常识

一、常见借代词语:1、故里:家乡2、桃李:学生3、社稷、轩辕:国家4、南冠:囚犯5、同窗:同学6、烽烟:战役7、巾帼:妇女8、丝竹...

人工智能 2025-03-20 阅读0 评论0

西藏:异域客的“古突”夜

今年,藏历新年和春节恰逢同一天。傍晚时分,在拉萨城关区一家青年堆栈里,来自全国各地的游客和堆栈里的藏族群众一起,正在准备“古突”大...

人工智能 2025-03-20 阅读0 评论0