создание списка объектов - PullRequest
3 голосов
/ 13 марта 2012

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

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

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

Спасибо

Ответы [ 2 ]

4 голосов
/ 13 марта 2012

Насколько я знаю, это не против хорошего программирования, но вам нужно что-то для хранения объектов, которые в случае 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
1 голос
/ 13 марта 2012
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...