VB - Function and Sub

1,在必须有返回值的情况下:

Function strfun() As String
    strfun = "csdn"
End Function
Private Sub Command1_Click()
    MsgBox strfun
End Sub

Sub strsub(ByRef x As String)
    x = "csdn"
End Sub
Private Sub Command2_Click()
    Dim y As String
    strsub y
    MsgBox y
End Sub
在这里如果使用 ByVal 而不是 ByRef 的话,那么虽然 Command2_Click() 把 y 传递给了 strsub(),但是却无法获得其修改后的新 y 值。

 

2,Sub 的两种调用方法:

Sub A(x As ..., y As ...)
End Sub
Sub B()
    Call A(x, y)
End Sub

Sub A(x As ..., y As ...)
End Sub
Sub B()
    A x, y
End Sub