Klasa Collection w VBA

Stronę tą wyświetlono już: 207 razy

W VBA odpowiednikiem tablic dynamicznych jest lista typu Collection. Umożliwia ona indeksowanie dodawanych elementów (tak jak zwykłe tablice) lub posłużenie się kluczem (jak w tablicach asocjacyjnych). Każdy obiekt tego typu jest iterowalny, a więc można użyć pętli For Each by iterować po elementach takiej listy. Utworzenie listy jest bardzo proste i wygląda następująco:

Listing 1
  1. Dim list as New Collection

Dodanie elementu do utworzonego w ten sposób obiektu typu Collection umożliwia metoda Add:

Listing 2
  1. list.Add "Value"

Powyżej dodana została wartość bez klucza (z indeksowaniem liczbowym zaczynającym się od 1), dodanie elementu z kluczem wygląda następująco:

Listing 3
  1. list.Add "Value1", "Key1"

Usuwaniem danego elementu z obiektu typu Collection zajmuje się metoda Remove:

Listing 4
  1. list.Remove "Key1"

Z kolei określeniem liczby elementów zawartych w liście zajmuje się właściwość Count:

Listing 5
  1. MsgBox list.Count

Odwołanie do elementu listy po indeksie lub kluczu:

Listing 6
  1. MsgBox "Key1"

Komentarze