子函数、子过程的可选参数

发布时间 2023-06-19 16:48:38作者: iZJ"Qq4577105

参数的使用

参数的使用对于过程和函数都是一样的。所以本节的内容对过程和函数都适用。

参数可分为可选参数和必选参数两种。必选参数在调用(过程或函数时)必须加上,否则会报错。可选参数则可写可不写。默认是必选参数,可选参数在定义时用Optional关键字声明,并且可选参数必须放在参数列表的最后面。

必选参数

这里不再介绍

可选参数

 可选参数的定义与调用

格式与必选参数类似,只是在参数名前面用Optional声明参数是可选的。

Optional 参数名 As 参数类型

 例如:

Sub sub_test(Optional s As String)
    Debug.Print s
End Sub

在调用上述过程时,可以不传入参数,此时则不会输出任何东西,也不会报错,因为参数是可选的。如果传入了参数,则会输出这个参数。

可选参数还可以设置默认值,即如果在调用时不显式传入这个参数的话,那么就使用定义时所使用的值。如下过程:

Sub sub_test(Optional s As String = "Hello, World")
    Debug.Print s
End Sub

 同时使用可选参数与必选参数

此时可选参数必须放在最后

Sub sub_test(var As Integer, Optional s As String = "Hello, World")
    Debug.Print var
    Debug.Print s
End Sub

只传入必选参数:

Sub test()
    Call sub_test(50)
End Sub

输出:

50

Hello, World

同时传入可选参数与必选参数:

Sub test()
   Call sub_test(50, "Hi, Meinv")
End Sub

输出:

50

Hi, Meinv