Excel工作表的VBA物件模型

來源:互聯網
上載者:User

標籤:des   cWeb   style   blog   color   io   os   使用   java   

Excel VBA工程的工作表類及對象

一、建立活頁簿時的工作表類與對象:

1.類與對象的建立:

2.類與對象的名稱:

二、修改CodeName:

1.CodeName在運行期間是唯讀,即運行期間不能用代碼改變工作表的這個屬性,只能讀取這個屬性,否則會彈出錯誤對話方塊如下。

2.同步修改:

[1]CodeName可以修改,但只能在屬性視窗中進行修改;

[2]當對它進行修改時,對應的類名和工作表對象名都會隨之更改.

3.CodeName可以是中文,方便引用:

[1]當把CodeName改為“呵呵”之後就可以直接用“呵呵”來代指標籤名為“實驗”的工作表,VBA代碼中極大方便對該工作表的訪問。

[2]使用CodeName來引用工作表實驗,代碼及效果如下:

1 Sub test1()2     Debug.Print "呵呵.Name = " & Chr(34) & 呵呵.Name & Chr(34)3     Debug.Print "呵呵.CodeName = " & Chr(34) & 呵呵.CodeName & Chr(34)4 End Sub

 

三、CodeName更改對工作表對象的影響:

看一個實驗,代碼如下:

1.“呵呵”工作表代碼:

1 Public Value As Integer

2.ThisWorkBook模組代碼:

1 Sub test2()2     For i = 1 To 33         Debug.Print "==========第" & CStr(i) & "次=========="4         Debug.Print "改變前:呵呵.Value = " & CStr(呵呵.Value)5         呵呵.Value = 呵呵.Value + 26         Debug.Print "改變後:呵呵.Value = " & CStr(呵呵.Value)7     Next8 End Sub

3.將CodeName從“呵呵”修改變“Sht”,然後再執行以下代碼:

1 Sub test3()2     Debug.Print "從屬性視窗將CodeName從“呵呵”改" & _3           "變為“Sht”之後:Sht.Value = " & CStr(Sht.Value)4 End Sub

        由此可見,當CodeName被修改時,代表其工作表的類的類名會跟著更改,代表其工作表的原有對象將被銷毀(無法再訪問),並會用新的類名所代表的類重新初始化一個此工作表對象。

四、總結:

1.CodeName在VBA代碼運行期間是唯讀,要修改CodeName只能通過屬性視窗手動修改;

2.CodeName與工作表相關聯的VBA代碼類的類名以及工作表在VBA代碼中的對象名是同步的,一改同改;

3.CodeName修改時,工作表對象將會從新的類名代表的工作表類重新初始化,原有的此工作表的工作表對象的資料及狀態將丟失;

4.CodeName可以是中文;

5.Name只是工作表的標籤名,在VBA代碼中不能作為工作表的引用來使用;

6.活頁簿開啟時/工作表CodeName改變時/工作表新增/工作表被移入當前活頁簿時,工作表對象將從工作表類被初始化或者重新初始化;

7.活頁簿關閉/工作表CodeName改變/工作表被刪除/工作表被移動到其它活頁簿時,已經存在的對應的工作表對象將被銷毀;

8.上述6-7之間時工作表對象的存在期,這之間的任何VBA代碼對工作表對象的操作將被儲存在工作表對象的各種屬性中,當然有些改變也會反應在Excel介面上;

9.工作表類中聲明的全域變數也是工作表的屬性它們在上述6-7過程中的所有修改都會儲存在它所在的記憶體中,當然對這些聲明的全域變數所做的修改,不會如工作表對象其它固有屬性那樣被永久儲存,這些修改在超過其生命週期時,將丟失,下次再被初始化時,上一次的狀態將不複存在,所以如果有必要,就要注意這些全域變數的本地化了(儲存結果資料的意思)。

Excel工作表的VBA物件模型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.