关键词不能为空

当前您在: 主页 > 英语 >

Sub过程的详细解释

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-02 15:01
tags:

-

2021年2月2日发(作者:marin)


]Sub


过程的详细解释



语法



[Private | Public | Friend] [Static] Sub name [(arglist)]



[statements]


[Exit Sub]


[statements]


End Sub


*



[]


符号括起来的选项是可选的。




前面这


3



[Private | Public | Friend]


是 同作用范围有关的。


Private


表示私有,即是这个过程< /p>


只能从本模块里面调用。使用了这个的话,你从菜单



工具





...


里看不到这个过程。


Pu blic


表示公用,这样你从其它的模块也可以访问这个公用过程。如果前面没有任何< /p>


[Private


|


Public | Friend]


的话,


过程默认是公用的。


公用的过程可以从菜单



工具


< /p>





...


里看得到。


Friend


是用在类模块里面 的,比较少用,就不说了。




Sta tic


是静态的意思,你可能还记得用


Static

< p>
声明静态变量,用它声明过程的话,表示这个


过程里面声明的局部变量在下 次调用这个过程时仍然保持它的值。




下面是


Static


声明过程的用法


.


运行


try1


过程,然后可以在立 即窗口里看到结果。




Static Sub m1()






Dim i As Integer






Dim j As Integer






i = i + 1






j = j + 1







End Sub


Private Sub m2()






Dim i As Integer






Dim j As Integer






i = i + 1






j = j + 1







End Sub


Sub try1()



Dim i As Integer




静态过程


:






For i = 1 To 10










Call m1






Next i




私有过程


:






For i = 1 To 10










Call m2






Next i


End Sub



如果没有使用



Public



Private




Friend


显式指定,


Sub


过程按缺省情况就 是公用的。如


果没有使用



Stati c



则在调用之后不会保留局部变量的值。

Friend


关键字只能在类模块中使用。


不过



Friend


过程可以被工程的任何模块中的过程访问。


Friend


过程不会在其父类的类型库中


出现,且



Friend


过程不能被后期绑定。




小心



Sub


过程可以是递归的;也就是说,该过程可以调用自己来 完成某个特定的任务。


不过,递归可能会导致堆栈上溢。通常



Static


关键字和递归的



Sub


过程不在一起使用。




所有的可执行代码都必须属于某个过程。不能在别的



Sub



Function




Property


过程中


定义



Sub


过程。




Exit Sub


语句使执行立即从一个



Sub


过程中退出。程序接着从调用该



Sub


过程的语句下


一条语句执行。在



Sub


过程的任何位置都可以有



Exit Sub


语句。




Sub


过程与



Function


过程的相似之处是:它们都一个可以获取参数,执行一系列语句,


以及改 变其参数的值的独立过程。而与



Function


过程不同的是:带返回值的



Sub


过程不能用


于表达式。




可以使用过程名并后跟相应的参数列表来调用一个



Sub


过程。


请参阅



Call


语句关于如何


调用



Sub


过程的详细的说明信息。






Sub


过程中使用的变量分为两类:一类是在过程内显式定义的,另一类则不是。在过


程内显式定义的变量(使用



Dim


或等效方法)都是局部变量。对于使用了但又没有在过程中


显式定义的变 量,除非其在该过程外更高级别的位置有显示地定义,否则也是局部的。




小心



过程 可以使用没有在过程内显式定义的变量,


但只要有任何在模块级别定义的名称与


之同名,就会产生名称冲突。如果过程中使用的未定义的变量与别的过程,常数,或变量的名


称相同,则认为过程使用的是模块级的名称。显式定义变量就可以避免这类冲突。可以使用< /p>



Option Explicit


语句来强制显式定义变量。




注意



不能使用



GoSub



GoTo




Return


来进入或退出



Sub


过程。




现在说说


arglist,


它的语法如下:



[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue]



先说


Optional



Optional


表示这个参数是可选的,


意思是在调用过程时可以不传递值也可以


传递值给这个参数

< p>
.


如果有给出


defaultvalue


给这个参数时


(



o ptional iInput2 As Integer=13),



调用过程没有传递值给这个参数时


,


过程里面会默认使用这个


defaultvalue.


Optional


必须对最后面的那些参数使用


,


也就是说这个参数用了


Optional

< br>后


,


后面的参数就必


须也使用< /p>


Optional.

-


-


-


-


-


-


-


-



本文更新与2021-02-02 15:01,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/600853.html

Sub过程的详细解释的相关文章