在窗体上有一个命令按钮Command1,编写事件代码如下:
Private Sub Command 1_Click()
Dim x As Integer,y As Integer
x=12:y=32
Call Proe(X,Y)
Debug.Print x;y
End Sub
Public Sub Proc(n As Integer,ByVal m As Integer)
n=n Mod 10
m=in Mod 10
End Sub
打开窗体运行后,单击命令按钮,立即窗口上输出的结果是
A.2 32
B.12 3
C.2 2
D.12 32
参考答案:A
解析: 本题考查的是VBA编程基础以及参数传递的方法。过程定义时,如果形式参数被说明为传值(ByVal项),则过程调用只是相应位置实参的值“单向”传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。由于这个过程,数据的传递只是单向性,故称为“传值调用”的“单向”作用形式。反之,如果形式参数被说明为传址(ByRef项),则过程调用是将相应位置实参的地址传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化又会反向影响实参的值。
本题中是传值方式,子过程中值的变化不会影响调用它的这个过程。