嗨,我可以使用一個變量來創建一個對象。 我有一個數組名稱和每個這些名稱,我想創建一個對象。 所以我("Max", "Tim", "Fred")
,並想通過數組,結果循環,我得到類似做手工這樣創建對象列表
Dim Max as CmyClass
Dim Tim as CmyClass
Dim Fred as CmyClass
(如果這是非常反對規劃的所有好習慣的東西,請讓我知道如何在正確地做)
感謝
嗨,我可以使用一個變量來創建一個對象。 我有一個數組名稱和每個這些名稱,我想創建一個對象。 所以我("Max", "Tim", "Fred")
,並想通過數組,結果循環,我得到類似做手工這樣創建對象列表
Dim Max as CmyClass
Dim Tim as CmyClass
Dim Fred as CmyClass
(如果這是非常反對規劃的所有好習慣的東西,請讓我知道如何在正確地做)
感謝
這並不是針對良好編程,據我知道,但你需要的東西的對象存儲,這在VBA的情況下會是一個數組或一個集合。
像這樣
Sub test()
Dim col As Collection
Set col = New Collection
For i = 0 To 4
Dim Name As Class1
Set Name = New Class1
col.Add Name, "test" & i
Next i
End Sub
非常感謝答案。將嘗試今天實現這一點 – user1266138 2012-03-15 07:51:07
Sub Tester()
Dim d As Object
Dim o As CmyClass
Dim arr, k, x
Set d = CreateObject("scripting.dictionary")
arr = Array("Max", "Tim", "Fred")
For x = LBound(arr) To UBound(arr)
Set o = New CmyClass
'set o properties etc
o.Name = "Name is " & arr(x)
d.Add arr(x), o
Next x
For Each k In d.keys
Debug.Print k, d(k).Name
Next k
End Sub
我不知道我知道你想用數組做什麼。你可以說得更詳細點嗎? – assylias 2012-03-13 15:01:15
這對Scripting.Dictionary很好用,只要你的「名字」都是唯一的 – 2012-03-13 15:01:56