程序介绍

Sub 是执行特定任务但不返回特定值的过程。

Sub ProcedureName ([argument_list])
    [statements]
End Sub

如果未指定访问修饰符,则默认情况下,过程为 Public

Function 是一个给定数据并返回值的过程,理想情况下没有全局或模块范围的副作用。

Function ProcedureName ([argument_list]) [As ReturnType]
    [statements]
End Function

Property封装模块数据的过程。属性最多可以有 3 个访问器:Get 用于返回值或对象引用,Let 用于赋值,和/或 Set 用于分配对象引用。

Property Get|Let|Set PropertyName([argument_list]) [As ReturnType]
    [statements]
End Property

属性通常用在类模块中(尽管它们也允许在标准模块中使用),从而将访问器暴露给调用代码无法访问的数据。仅暴露 Get 访问器的属性是只读; 只暴露 Let 和/或 Set 访问器的属性是只写。只写属性不被认为是一种很好的编程习惯 - 如果客户端代码可以一个值,它应该能够回来。考虑实现 Sub 过程而不是创建只写属性。

返回一个值

FunctionProperty Get 过程可以(并且应该!)向其调用者返回一个值。这是通过分配过程的标识符来完成的:

Property Get Foo() As Integer
    Foo = 42
End Property