Я понимаю, добавление объектов в коллекцию можно сделатьДобавление переменного количества объектов в коллекцию
Dim ItemList As Collection
Set ItemList = New Collection
Dim Item As New CItem
Set Shoe = New CItem
With Shoe
.Quantity
.IDNumber
.Description
End With
ItemList.Add Shoe
Set Bag = New CItem
With Bag
.Quantity
.IDNumber
.Description
End With
ItemList.Add Bag
я мог бы назвать данные я хочу использовать как (Cost = Bag.Quantity * 2)
Однако моя проблема в том, что мой список предметов будет определен пользователем. Есть ли способ добавить переменное количество объектов в коллекцию и все еще иметь возможность извлекать отдельные данные по имени элемента?
, например, я даюсь список предметов: обуви, сумки, солнцезащитные очки, брюки
Я хотел бы написать цикл, чтобы прочитать все эти объекты под класс «Пункт», но все еще быть в состоянии вычислить (xyz = Солнцезащитные очки.Количество + Брюки.Частота - Сумка.Человек). Я пытался использовать счетчики, но, похоже, он принимает только постоянные выражения.
Возможно ли это? Если так, я был бы признателен за помощь в выяснении, как это сделать.
Я не эксперт по ООП в VBA, так что я m not sure для имени retreveing, но вы можете создать класс 'Item' и определить свойство' Type' для этого (за исключением случаев, когда ваши объекты слишком сильно отличаются друг от друга, а затем могут быть беспорядочными в свойствах) – R3uK
[** 1 **] (http://stackoverflow.com/a/19908375/2140173) и [** 2 **] (http://stackoverflow.com/a/19379641/2140173) для ge t вы начали на интерфейсах и oop в VBA –