標籤:object 表達 命名 標準 不能 系統 integer 隱式 col
Let與Set的區別
1、在“類別模組”中
Property Let 語句
在Class塊中,是給普通變數進行賦值操作的Property,該種Property將不能在其前面使用Set,因而將不能使用者對物件變數的賦值。
Property Set 語句
在Class塊中,是給物件變數進行設定引用操作的Property。
Property Get 語句
在Class塊中,取得(返回)的值的Property,傳回值可以是物件變數或普通變數。
2、在“普通模組”中
Let語句是對普通變數賦值,使其指向該對象,將對象引用賦給變數或屬性。預設省略。
Set 語句將一個對象賦值給一個變數,使其指向該對象。將對象引用賦給變數或屬性 。
Sub test()‘Let 與 Set的區別,Let是一般變數賦值,Set是物件變數賦值Dim a As IntegerDim rng As RangeLet a = 3MsgBox aSet rng = Range("a1")End Sub
3、Set的文法
Set objectvar = {[New] objectexpression | Nothing}
Set 語句的文法包含下面部分:
部分描述:
objectvar 必需的。變數或屬性的名稱,遵循標準變數命名規範。
New 可選的。通常在聲明時使用 New,以便可以隱式建立對象。如果 New 與 Set 一起使用,則將建立該類的一個新執行個體。如果 objectvar 包含了一個對象引用,則在賦新值時釋放該引用。不能使用 New 關鍵字來建立任何內部資料類型的新執行個體,也不能建立從屬對象。
objectexpression 必需的。由對象名,所聲明的相同物件類型的其它變數,或者返回相同物件類型的函數或方法所組成的運算式。
Nothing 可選的。斷絕 objectvar 與任何指定對象的關聯。若沒有其它變數指向 objectvar 原來所引用的對象,將其賦為 Nothing 會釋放該對象所關聯的所有系統及記憶體資源。
VBA中Let與Set的區別