您的位置:主页 > 新闻中心 > 行业资讯 >

变量的生命周期

行业资讯 / 2022-11-04 23:13

本文摘要:今日的内容是VBA之EXCEL应用的第五章变量的类型及应用中第四节变量的生命周期。这套教程从简朴的录制宏开始解说,一直到窗体的搭建,内容富厚,案例众多。大家可以很是容易的掌握相关的知识,这套教程面向初学人员,共三册,十七章,都是我们在使用EXCEL事情历程中需要掌握的知识点,希望大家能掌握使用。 第四节 变量的生命周期大家看到今日这讲的题目可能会有一定的疑问:变量也有生命吗?关于这个问题,我在另一套教程《VBA中类的解读和应用》中有详细的叙述,这里只是简朴的解说。

亚博yabo

今日的内容是"VBA之EXCEL应用"的第五章"变量的类型及应用"中第四节"变量的生命周期"。这套教程从简朴的录制宏开始解说,一直到窗体的搭建,内容富厚,案例众多。大家可以很是容易的掌握相关的知识,这套教程面向初学人员,共三册,十七章,都是我们在使用EXCEL事情历程中需要掌握的知识点,希望大家能掌握使用。

第四节 变量的生命周期大家看到今日这讲的题目可能会有一定的疑问:变量也有生命吗?关于这个问题,我在另一套教程《VBA中类的解读和应用》中有详细的叙述,这里只是简朴的解说。生命的意义对于差别的事物也是差别的,对于变量而言,它的生命周期就是从开始占用内存开始,一直连续到内存的释放,这就是我们常讲的生死历程。

1 明白变量的生命周期变量保留其值的时间被称为变量的生命周期。当变量失去自己的作用域时,它不再具有值。在历程开始运行时,会初始化所有变量。

数值变量初始化为零, 可变长度字符串初始化为零长度字符串(""), 牢固长度的字符串用ASCII字符代码0或Chr(0)表现的字符填充。Variant变量初始化为空。用户界说类型变量的每个元素都像单独变量一样初始化。

在声明工具变量时,会在内存中保留空间,但其值设置为Nothing,直到使用set语句为其分配工具引用。如果变量的值在代码运行期间未更改,它会保留其初始化的值,直到失去自己的作用域。使用Dim语句声明的历程级变量保留一个值,直到该历程完成运行为止。

如果该历程挪用其他历程,当其他历程运行时,该变量也会保留其值。所以历程级的变量生命周期一般就是历程的开始到历程的竣事。如果历程级变量是使用Static(静态变量)关键字声明的, 则只要在任何模块中运行代码, 该变量就会保留其值。

当所有代码都运行完毕时,变量将失去自己的作用域和值。其生命周期与模块级别变量相同。

模块级别变量与静态变量差别。在尺度模块或类模块中,它保留其值,直到代码停止运行。

在类模块中,只要类的实例存在,变量便会保留其值。模块级别变量将一直消耗内存资源,直到重置其值,因此请仅在须要时使用这些变量。也就是说,模块级别变量的生命周期是代码的运行开始到代码的运行竣事。

如果在Sub或Function语句之前包罗Static关键字, 则在两次挪用之间将保留历程中所有历程级别变量的值。2 历程级变量的生命周期对于上述的先容,大家或许不是很明白,这里我再就一些例子来说明一下,大家只要明白了代码运行效果就可以了。我们看下面的代码:Sub mynzL()'历程级变量的生命周期Dim X As IntegerX = X + 1MsgBox "X的值为:" & XEnd Sub代码解说:对于上述历程,变量X是一个历程级此外变量,因为他声明在mynzL这个历程中,那么这个变量什么时间开始有自己的生命呢?就是在DIM语句声明开始,这个时候开始占用了内存,在代码的执行历程中,这个值酿成了1。

那么什么时候这个生命变量的生命周期竣事呢?就是历程mynzL竣事的时候。3 模块级变量的生命周期我们看下面的代码:Private myMk As IntegerSub mynzM() '模块级变量的生命周期1myMk = myMk + 10MsgBox "运行OK"End SubSub mynzN() '模块级变量的生命周期2MsgBox "myMk的值为:" & myMkEnd Sub代码解读:我们在模块的头部声明晰一个模块级此外私有变量myMk,这个变量的生命周期就是这个模块开始运行的时候。

一旦我们开始运行了这个模块5,这个变量就将被初始化到内存中,我们点击:先运行mynzN这个历程:此时我们看到myMk的初始值为0,我们点击mynzM的运行按钮两次,再次点击mynzN的运行按钮:这个时候myMk变量的值就酿成了20,说明模块级此外变量生命一直是存在的,当我们关闭这个事情簿时,它的生命周期也就竣事了。4 静态变量(Static)的生命周期在上述解说中,我们相识到:静态变量(Static)在历程级使用, 用于声明变量和分配存储空间。

在 Static 语句内声明的变量会在代码运行时一直保留其值。在模块代码运行后,使用Static语句声明的变量将保留其值,直到重置或重新启动模块为止。

在类模块中,使用 Static 语句声明的变量会在每个类实例中保留其值,直到实例被销毁。在窗体模块中,静态变量会在窗体关闭前一直保留其值。在历程中使用Static语句声明的变量只在这个历程中生命一直存在,但这些变量的生命周期与模块相同。

我们看下面的代码:Sub mynzO() '静态变量的生命周期1Static myJT As IntegermyJT = myJT + 1MsgBox "myJT的值为:" & myJTEnd SubSub mynzP() '静态变量的生命周期2MsgBox "myJT的值为:" & myJTEnd Sub代码剖析:上面的两个历程 mynzO和 mynzP中,我们在 mynzO中声明晰一个静态变量myJT,我们点击两次mynzO的运行按钮:效果显示myJT变量的值是2,这说明这个变量在历程竣事后没有失去生命。我们点击mynzP的运行按钮:效果显示这个时候的变量myJT没有通报到mynzP历程之中。那么这个变量的生命周期什么时候竣事呢?就是事情簿关闭的时候。另外,对于公用级此外变量这里就不再讨论了,大家可以凭据上述的思路自己明白。

今日内容回向:1) 历程级别变量的生命周期如何明白?2) 模块级别变量的生命周期如何明白?3) 静态变量的生命周期如何明白?本讲内容参考法式文件:事情簿05.xlsm分享结果,随喜正能量VBA的应用规模及学习方法:VBA是使用Office实现小我私家小型办公自动化的有效手段(工具)。这是我对VBA的应用界定。在取代OFFICE新的办公软件没有到来之前,谁能在数据处置惩罚方面做到极致,谁就是王者。

其中登峰至极的技术非VBA莫属!我记得20年前自己初学VBA时,那时的资料甚少,只能看源码自己琢磨,真的很难。20年已往了,为了不让学习VBA的朋侪重复我之前的履历,我凭据自己多年VBA实际使用履历,推出了七部VBA专门教程。第一套:VBA代码解决方案 是VBA中各个知识点的解说,教程共147讲,笼罩绝大多数的VBA知识点,提供的法式文件更是一座不行多得的代码宝库,是初学及中级人员必备教程;现在这套教程提供的版本是修订第二版,法式文件通过32位和64位两种OFFICE系统测试。

第二套:VBA数据库解决方案 数据库是数据处置惩罚的专业利器,教程中详细先容了使用ADO毗连ACCDB和EXCEL的方法和实例操作,适合中级人员的学习。现在这套教程提供的是修订第一版教程,法式文件通过32位和64位两种OFFICE系统测试。第三套:VBA数组与字典解决方案 数组和字典是VBA的英华,字典是VBA代码水平提高的有效手段,值得深入的学习,是低级及中级人员代码精进的手段。

现在这套教程提供的版本是修订第一版,法式文件通过32位和64位两种OFFICE系统测试。第四套:VBA代码解决方案之视频 是专门面向初学者的视频解说,可以快速入门,更快的掌握这门技术。这套教程是第一套教程(修订一版)的视频解说,视频更易接受。

第五套:VBA中类的解读和使用 这是一部高级教程,解说类的虚无与肉身的度化,类的使用虽然较少,但仔细的学习可以促进自己VBA理论的提高。这套教程的领会主要是读者的意会了,意会一种佛学的哲理。现在这套教程提供的版本是修订第一版,法式文件通过32位和64位两种OFFICE系统测试。

第六套教程:VBA信息获取与处置惩罚,这是一部高级教程,涉及规模更广,实用性更强,面向中高级人员。教程共二十个专题,包罗:跨应用法式信息获得、随机信息的使用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板应用、Split函数扩展、事情表信息与其他应用交互,FSO工具的使用、事情表及文件夹信息的获取、图形信息的获取以及定制事情表信息函数等等内容。法式文件通过32位和64位两种OFFICE系统测试。

第七套教程:VBA之EXCEL应用 这是一部低级教程这部教程共三册,从从建立宏、对话框、事情簿和事情表工具、单元格工具等基础内容讲起,到循环结构、错误处置惩罚、字符串操作、日期和时间、事件、数组应用,函数历程等方面,一直解说到控件和窗体工具的应用都是我们提高自己EXCEL水平的必须。以上各教程学习顺序:7→1(或者4)→3→2→6→5。

其中第四套是对第一套的视频解说,所以第一和第四只选其一即可。可以W.e.C.h.a.t : VBA6337。


本文关键词:变量,的,生命,周期,今日,的,内容,是,VBA,之,yabo22vip

本文来源:亚博yabo-www.yiliudog.com