Else
MsgBox "This house is affordable."
End If
End Sub
在调用 Function 过程时使用括号。
为了使用函数的返回值,必须指定函数给变量,并且用括号将参数封闭起来;如下示例所示:
Answer3 = MsgBox("Are you happy with your salary?", 4, "Question 3")
如果不在意函数的返回值,可以用调用 Sub 过程的方式来调用函数。如下面示例所示,可以省略括号,列出参数并且不要将函数指定给变量:
MsgBox "Task Completed!", 0, "Task Box"
注意在上述例子中若包含括号,则语句会导致一个语法错误。
2.传递命名参数
Sub 或 Function 过程中的语句可以利用命名参数来传递值给被调用的过程。参数有两种传递方式:按值来传递和按地址来传递。按值传递只是传递参数的一个副本,在函数内建立一个同参数类型及内容一样的变量,在过程体内部参数对参数所作的改变不会影响到实际参数;按地址传递则不然,它传递的是实际参数的地址,过程中所有对参数的改变都将影响到实际参数”。命名参数的组成是由参数名称紧接着冒号(:=)以及等号,然后指定一个值给参数。
下面的示例使用命名参数来调用不具返回值的 MsgBox 函数。
MsgBox Title:="Task Box", Prompt:="Task Completed!"
下面的示例使用命名参数调用 MsgBox 函数。将返回值指定给变量 answer3。
answer3 = MsgBox(Title:="Question 3", _
Prompt:="Are you happy with your salary?", Buttons:=4)
11.3.5.5 调用属性过程
表11-2 列出了调用属性过程的语法。
当调用一个 Property Let 或 Property Set 过程时,总是会有一个参数出现在等号(=)的右边。
当用多个参数声明一个 Property Let 或 Property Set 过程时, Visual Basic 传递调用的右边参数,给 Property Let 或 PropertySet 声明中的最后一个参数。例如,图11-18 显示了 Property 过程调用中的参数与 Property Let 声明中的参数的关系:
实际上,将属性过程与多个参数合用只有在创建属性的数组时才会使用。










