VBA中Let與Set的區別


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 Integer
Dim rng As Range
Let a = 3
MsgBox a
Set 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 會釋放該對象所關聯的所有系統及內存資源。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM