共用方式為


Property Get 陳述式

宣告形成 Property程式主體的名稱、自變數和程式代碼,以取得屬性的值。

語法

[ 公用 | 私人 | Friend ][ Static ] Property Getname [ (arglist) ] [ Astype ]
[ statements ]
[ name=運算式 ]
[ Exit 屬性 ]
[ statements ]
[ name=運算式 ]
End 屬性

Property Get 語句語法包含下列部分:

部分 描述
Public 選用。 指出 屬性取得 程式可供所有模組中的所有其他程式存 。 如果用於包含 Option Private 語句的模組中,則無法在專案外部使用 程式。
Private 選用。 指出 Property Get 程式只能供宣告它的模組中的其他程式存取。
Friend 選用。 僅用於 類模組。 表示屬性 取得 程式在整個項目中可見,但對象實例的控制器看不到。
Static 選用。 指出在呼叫之間保留 Property Get 程式的局部 變數靜態屬性不會影響在 Property Get 程式之外宣告的變數,即使這些變數用於程式中也一般。
name 此為必要動作。 屬性取得程序的名稱;遵循標準變數命名慣例,不同之處在於名稱可以與相同模組中的 Property LetProperty Set 程式相同。
arglist 選用。 變數清單,代表呼叫屬性 取得 程式時傳遞給它的自變數。 多個自變數會以逗號分隔。 Property Get 程式中每個自變數的名稱和數據類型必須與 Property Let 程式中對應的自變數相同, (如果有) 。
type 選用。 Property Get 程式所傳回之值的數據類型;可能是 ByteBooleanIntegerLongCurrencySingleDoubleDecimal (目前不支援) 、日期字符串 (,但固定長度) 、ObjectVariant使用者定義型別和數位除外。

Property Get 程式的傳回類型必須與最後一個 (相同,或有時是對應 Property Let 程式中唯一的) 自變數, (如果有定義指派給表達式右側之屬性值的) 。
陳述式 選用。 要在 Property Get 程式主體內執行的任何語句群組。
expression 選用。 Property Get 語句所定義之程式所傳回之 屬性 的值。

arglist 引數具有下列語法和部分︰

[ 選擇性 ][ ByVal | ByRef ][ ParamArray ] varname [ ( ) ] [ Astype ] [ =defaultvalue ]

部分 描述
Optional 選用。 表示引數不是必要的。 如果使用, arglist 中的所有後續自變數也必須是選擇性自變數,並使用 Optional 關鍵詞來宣告。
ByVal 選用。 表示引數以傳值方式傳遞。
ByRef 選用。 表示引數以傳參考方式傳遞。 ByRef 是 VBA 中的預設值,與 Visual Basic .NET 不同。
ParamArray 選用。 僅作為arglist中的最後一個自變數,以指出最終自變數是 Variant 元素的選擇性陣列。 ParamArray 關鍵字可讓您提供引數的任意數。 它不能與 ByValByRefOptional 搭配使用。
varname 此為必要動作。 代表自變數的變數名稱;遵循標準變數命名慣例。
type 選用。 傳遞至程式之自變數的數據類型;可能是 ByteBooleanIntegerLongCurrencySingleDoubleDecimal (目前不支援) 、 日期字符串 (變數長度僅) 、 ObjectVariant 或特定 物件類型。 如果參數不是 選擇性,也可以指定使用者定義型別。
defaultvalue 選用。 任何 常數 或常數表達式。 僅適用於 選擇性 參數。 如果類型是 Object,則明確預設值只能是 Nothing

註解

如果未使用 PublicPrivateFriend 明確指定,則預設會公開 屬性 程式。 如果未使用 Static ,則不會在呼叫之間保留局部變數的值。

Friend 關鍵詞只能用於類模組。 不過, Friend 程式可由專案任何模組中的程式存取。 Friend 程式不會出現在其父類別的類型庫中,也不會晚期綁定 Friend 程式。

所有可執行程式代碼都必須在程式中。 您無法在另一個 PropertySub或 Function 程式內定義 Property Get 程式。

Exit Property 語句會立即結束 Property Get 程式。 程序執行會在呼叫 Property Get 程式的 語句後面繼續執行 語句。 任何數目的 Exit Property 語 句都可以出現在 Property Get 程式中的任何位置。

如同 SubProperty Let 程式, Property Get 程式是個別的程式,可以接受自變數、執行一系列的語句,以及變更其自變數的值。 不過,不同於 SubProperty Let 程式,您可以使用運算式右側的 Property Get 程式,其方式與您在傳回屬性值時使用 式或屬性名稱的方式相同。

範例

這個範例會使用 Property Get 語句來定義取得屬性值的屬性程式。 屬性會將畫筆的目前色彩識別為字串。

Dim CurrentColor As Integer 
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3 
 
' Returns the current color of the pen as a string. 
Property Get PenColor() As String 
 Select Case CurrentColor 
 Case RED 
 PenColor = "Red" 
 Case GREEN 
 PenColor = "Green" 
 Case BLUE 
 PenColor = "Blue" 
 End Select 
End Property 
 
' The following code gets the color of the pen 
' calling the Property Get procedure. 
ColorName = PenColor 

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應