MyTetra Share
Делитесь знаниями!
О, смотри-ка какое хорошее место. Дайте два!
Excel: Работа с коллекциями, аналог Списков или Векторов
14.12.2011
09:08
Раздел: Компьютер - Windows - Excel

При программировании на VBA понятие коллекции приобретает большой смысл. Коллекции встречаются на каждом шагу.

Обычно колекции имеют 4 метода:

Add

Remove

Count

Item

Было бы наверно логично подумать, что в MS OFFICE есть специализированный класс колекций, на подобии шаблонов в С++. Но это не так. Для каждого типа объектов объявляется своя коллекция. Так же есть некоторые коллекции, которые отличаются названием методов. Всё это немного странно, но что сделаешь :-)

Для понимания работы с коллекциями создадим имитирующий коллекцию книг в Excel:

Sub Test()

Dim MyCollection As New Collection

With MyCollection

.Add ("Книга 1")

.Add ("Книга 2")

.Add ("Книга 3")

MsgBox (Str(.Count))

MsgBox (.Item(1))

.Remove (1)

MsgBox (.Item(1))

End With

End Sub

Первой строкой мы создаем переменную типа коллекция. Дальше мы используем оператор With, чтобы не использовать многократно MyCollection и тем самым сократить код. Методом Add мы добавляем данные в коллекцию. Count возвращает Вам количество элементов в коллекции. Item возвращает элемент коллекции, а Remove удаляет по индексу.

Заканчивая краткое описание коллекций следует отметить, что они могут содержать и элементы разных типов, что отличает их от массивов. Размер коллекции динамически изменяется. При удалении дырок не обнаруживается.

Так же в этом разделе:
← Содержание ...
 
MyTetra Share v.0.35
Яндекс индекс цитирования