VBA中Let與Set的區別

來源:互聯網
上載者:User

標籤: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的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.