Property Let 陳述式
宣告構成 Property程式主體的名稱、自變數和程式代碼,其會將值指派給屬性。
語法
[ 公用 | 私人 | Friend ][ Static ] Property Letname ( [ arglist ], value )
[ statements ]
[ Exit 屬性 ]
[ statements ]
End 屬性
Property Let 語句語法包含下列部分:
部分 | 描述 |
---|---|
Public | 選用。 指出 Property Let 程式可供所有模組中的所有其他程式存 取。 如果用於包含 Option Private 語句的模組中,則無法在專案外部使用 此程式。 |
Private | 選用。 指出 Property Let 程式只能供宣告它之模組中的其他程式存取。 |
Friend | 選用。 僅用於 類模組。 表示屬性 Let 程式在整個 項目中可見,但對象實例的控制器看不到。 |
Static | 選用。 指出在呼叫之間保留 Property Let 程式的局部 變數 。 Static 屬性不會影響在 Property Let 程式之外宣告的變數,即使這些變數用於程式中也一般。 |
name | 此為必要動作。 屬性 Let 程式的名稱;遵循標準變數命名慣例,不同之處在於名稱可以與相同模組中的 Property Get 或 Property Set 程式相同。 |
arglist | 此為必要動作。 變數清單,代表呼叫屬性 Let 程式時傳遞給它的自變數。 多個自變數會以逗號分隔。 Property Let 程式中每個自變數的名稱和數據類型必須與 Property Get 程式中的對應自變數相同。 |
value | 此為必要動作。 要包含要指派給 屬性之值的變數。 呼叫程式時,這個自變數會出現在呼叫 表達式的右側。 值的數據類型必須與對應 Property Get 程式的傳回型別相同。 |
陳述式 | 選用。 要在 Property Let 程式內執行的任何語句群組。 |
arglist 引數具有下列語法和部分︰
[ 選擇性 ][ ByVal | ByRef ][ ParamArray ] varname [ ( ) ] [ Astype ] [ =defaultvalue ]
部分 | 描述 |
---|---|
Optional | 選用。 表示引數不是必要的。 如果使用, arglist 中的所有後續自變數也必須是選擇性自變數,並使用 Optional 關鍵詞來宣告。 請注意,Property Let 表達式的右邊不可能是 選擇性的。 |
ByVal | 選用。 表示引數以傳值方式傳遞。 |
ByRef | 選用。 表示引數以傳參考方式傳遞。 ByRef 是 VBA 中的預設值,與 Visual Basic .NET 不同。 |
ParamArray | 選用。 表示自變數是 Variant 元素的選擇性陣列。 ParamArray 關鍵字可讓您提供引數的任意數。 它不能與 ByVal、 ByRef 或 Optional 搭配使用。 這個關鍵詞不能是最後一個專案,也不能是arglist的唯一元素。 |
varname | 此為必要動作。 代表自變數的變數名稱;遵循標準變數命名慣例。 |
type | 選用。 傳遞至程式之自變數的數據類型;可能是 Byte、 Boolean、 Integer、 Long、 Currency、 Single、 Double、 Decimal (目前不支援) 、 日期、 字符串 (變數長度僅) 、 Object、 Variant 或特定 物件類型。 如果參數不是 選擇性,也可以指定 使用者定義型 別。 |
defaultvalue | 選用。 任何 常數 或常數表達式。 僅適用於 選擇性 參數。 如果類型是 Object,則明確預設值只能是 Nothing。 |
注意事項
每個 Property Let 語 句都必須為它所定義的程式定義至少一個 有效的 自變數。 'valid' 表示不應該使用 'Optional' 或 'ParamArray' 來修改它。 該自變數 (或最後一個自變數,如果有多個) 包含叫用 Property Let 語句所定義的程式時要指派給屬性的實際值。 在上述語法中,該自變數稱為 值 。
註解
如果未使用 Public、 Private 或 Friend 明確指定,則預設會公開 屬性 程式。 如果未使用 Static ,則不會在呼叫之間保留局部變數的值。
Friend 關鍵詞只能用於類模組。 不過, Friend 程式可由專案任何模組中的程式存取。 Friend 程式不會出現在其父類別的類型庫中,也不會晚期綁定 Friend 程式。
所有可執行程式代碼都必須在程式中。 您無法在另一個 Property、Sub或 Function 程式內定義 Property Let 程式。
Exit Property 語句會立即結束 Property Let 程式。 程序執行會在呼叫 Property Let 程式的 語句後面繼續執行 語句。 任何數目的 Exit Property 語 句都可以出現在 Property Let 程式中的任何位置。
如同 函式 和 屬性取得 程式, Property Let 程式是另一個程式,可以接受自變數、執行一系列的語句,以及變更其自變數的值。 不過,不同於函式和屬性取得程式,這兩個程式都會傳回值,您只能在屬性指派表達式或 Let 語句的左側使用 Property Let 程式。
範例
這個範例會使用 Property Let 語句來定義將值指派給屬性的程式。 屬性會識別繪圖套件的畫筆色彩。
Dim CurrentColor As Integer
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3
' Set the pen color property for a Drawing package.
' The module-level variable CurrentColor is set to
' a numeric value that identifies the color used for drawing.
Property Let PenColor(ColorName As String)
Select Case ColorName ' Check color name string.
Case "Red"
CurrentColor = RED ' Assign value for Red.
Case "Green"
CurrentColor = GREEN ' Assign value for Green.
Case "Blue"
CurrentColor = BLUE ' Assign value for Blue.
Case Else
CurrentColor = BLACK ' Assign default value.
End Select
End Property
' The following code sets the PenColor property for a drawing package
' by calling the Property let procedure.
PenColor = "Red"
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。