【VBA編程】10.自定義集合


自定義集合類型,類似於變量聲明,只是要將Dim關鍵字和New collection關鍵字搭配起來使用,其語法描述如下:其中集合名的命名方式同於標准變量的命名

Dim 集合名 As New collection

對於已經定義的集合對象,可以使用集合的Add方法向集合中添加元素,語法如下:

集合名.add item[,key] [,before] [,after]

item:是一個必要的參數,表示將要添加到集合的對象名稱

Key: 是一個可選參數,表示該對象在集合中以關鍵字表示,以供訪問結合元素時,能夠按照關鍵字訪問

before:表示位於一個對象之前,其值為集合中某一對象的索引號

after:表示位於一個對象之后,其值為集合中某一對象的索引號

【環境准備】

首先插入“類模塊”

 

修改“類模塊”名稱

雙擊修改后的“類模塊”名稱,並在代碼窗口寫下如下代碼:

然后,新建插入“模塊”

【代碼區域】

Sub 自定義集合()
 Dim zdyjh As New Collection '自定義一個集合
 Dim obj As classname '定義一個對象
 Dim num As Integer '定義一個計數器
 Set obj = New classname '對一個變量賦值
 obj.name = "楊過" '為對象的屬性賦值
 zdyjh.Add Item:=obj, Key:="first"    '將對象添加到集合中
 Set obj = New classname '新建一個對象
 obj.name = "郭靖"
 zdyjh.Add Item:=obj, Key:="second"
 Set obj = New classname
 obj.name = "黃蓉"
 zdyjh.Add Item:=obj, Key:="third"
 For i = 1 To 2
  Debug.Print
 Next
  '輸出現有集合中的元素
  Debug.Print "現有集合中共有" & CStr(zdyjh.Count) & "個元素,個元素舉例如下:"
  Debug.Print
  num = 1
  For Each tempobj In zdyjh
    Debug.Print "" & CStr(num) & "對象名字為:" & tempobj.name 'CStr函數將數據強制轉換為字符
    Debug.Print
    num = num + 1
  Next
  Set obj = New classname
  obj.name = "段譽"
  zdyjh.Add Item:=obj, Key:="forth", before:=2
  Debug.Print "在第2個對象之前插入對象后,集合中共有" & CStr(zdyjh.Count) & "個元素,各元素列舉如下:"
  Debug.Print
  num = 1
  For Each tempobj In zdyjh
    Debug.Print "" & CStr(num) & "對象的名字為:" & tempobj.name
    Debug.Print
    num = num + 1
  Next
  Set obj = New classname
  obj.name = "胡八一"
  zdyjh.Add Item:=obj, Key:="five", after:=3
  Debug.Print "在第三個對象之后插入對象后,集合共有" & CStr(zdyjh.Count) & "個元素,各元素列舉如下:"
  Debug.Print
  num = 1
  For Each tempobj In zdyjh
    Debug.Print "" & CStr(num) & "對象的名字為:" & tempobj.name
    Debug.Print
    num = num + 1
  Next
  '移除第三個對象
  zdyjh.Remove (3)
  Debug.Print "刪除第三個對象之后,集合共有" & CStr(zdyjh.Count) & "個元素,各元素列舉如下:"
  Debug.Print
  num = 1
  For Each tempobj In zdyjh
    Debug.Print "" & CStr(num) & "對象的名字為:" & tempobj.name
    Debug.Print
    num = num + 1
  Next
End Sub

【結果展示】

 立即窗口打印結果為:

現有集合中共有3個元素,個元素舉例如下:

第1對象名字為:楊過

第2對象名字為:郭靖

第3對象名字為:黃蓉

在第2個對象之前插入對象后,集合中共有4個元素,各元素列舉如下:

第1對象的名字為:楊過

第2對象的名字為:段譽

第3對象的名字為:郭靖

第4對象的名字為:黃蓉

在第三個對象之后插入對象后,集合共有5個元素,各元素列舉如下:

第1對象的名字為:楊過

第2對象的名字為:段譽

第3對象的名字為:郭靖

第4對象的名字為:胡八一

第5對象的名字為:黃蓉

刪除第三個對象之后,集合共有4個元素,各元素列舉如下:

第1對象的名字為:楊過

第2對象的名字為:段譽

第3對象的名字為:胡八一

第4對象的名字為:黃蓉


免責聲明!

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



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