2012-03-13 3 views
2

Привет, могу ли я использовать переменную для создания объекта. У меня есть массив из нескольких имен и для каждого из этих имен я хотел бы создать объект. Так что я ("Max", "Tim", "Fred") и хотел бы Переберите этот массив, в результате чего я получаю что-то подобное делать это руководство как этотСоздание списка объектов

Dim Max as CmyClass 
Dim Tim as CmyClass 
Dim Fred as CmyClass 

(если это очень против всех хороших привычек программирования, пожалуйста, сообщите я знаю, как сделать это правильно)

Благодарности

+0

Я не уверен, я понимаю, что вы хотите сделать с массивом. Можете быть более конкретными? – assylias

+0

Это хорошее использование для Scripting.Dictionary, если ваши «имена» уникальны. –

ответ

2

Это не против хорошего программирования для насколько я знаю, но вам нужно будет что-то, чтобы хранить объекты в, которые в случае 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 
+0

благодарит за ответы. попытается добиться этого сегодня – user1266138

1
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 
Смежные вопросы