MyTetra Share
Делитесь знаниями!
Excel: Работа с коллекциями, аналог Списков или Векторов
Время создания: 14.12.2011 09:08
Раздел: Компьютер - Windows - Excel
Запись: xintrea/mytetra_syncro/master/base/1323839300dhm51aqu6d/text.html на raw.github.com

При программировании на 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.59
Яндекс индекс цитирования