第2个回答 2017-12-01
在Visual Basic中,按值传递方式通过关键字 ByVal (By Value)来实现。也就是说,在定义通用过程时,如果形参前面有关键字ByVal,则该参数用传值方式传送,否则即以引用(即按地址)方式传递。
例如:
Dim s = 1
Private Sub Form_Load()
Debug.print increment(s)
Debug.print s
End Sub
Private Function increment(ByVal x As Integer)
x=x+1
Debug.print x
End Function
输出结果:
2
1
这里的形参x前有关键字ByVal,调用时以按值方式传递实参。
也就是说,外部的变量数值不会因为它的数值的改变而改变。
与之相对应的则为ByRef关键字。
使用 ByRef 关键字时,参数的传递方式就是按地址传递。
注意:
1.按值传递方式只能用于外部向被调用过程内部传递数据。
2.按地址传递方式可以实现数据的双向传递。本回答被网友采纳