程式介紹

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