Hilfe für Collabora Office 23.05
Sammlungen können verwendet werden, um Elemente verschiedener Typen zu speichern. Auf jedes Element kann über seinen Index oder einen ihm zugeordneten optionalen Schlüssel zugegriffen werden.
Ein Objekt Collection hat die folgenden Methoden:
Add: fügt ein neues Element in die Sammlung ein. Optional kann eine Zeichenfolge als Schlüssel zum Element definiert werden.
Count: gibt die Anzahl der Elemente in der Sammlung zurück.
Item: gibt das Element in der Sammlung zurück, indem es seinen Index oder Schlüssel übergibt.
Remove: entfernt das angegebene Element anhand seines Indexes oder Schlüssels aus der Sammlung.
Auf Elemente in einer Sammlung kann entweder über ihre Indizes (wie in einer 1-basierten eindimensionalen Matrix) oder über ihre zugehörigen Schlüssel zugegriffen werden.
Der ScriptForge-Dienst Dictionary erweitert das Objekt Collection um Bereitstellung zusätzlicher Funktionen wie Schlüsselabruf und -ersetzung sowie Import/Export in Matrixobjekte und JSON-Zeichenfolgen.
Verwenden Sie zum Erstellen von Collection das Schlüsselwort New. Das folgende Beispiel erstellt ein Objekt Collection und füllt es mit drei Elementen:
Dim myCollection as New Collection
myCollection.Add("Some text")
myCollection.Add(100)
myCollection.Add(Array(1, 2, 3, 4))
MsgBox myCollection.Count ' 3
Die Methode Add kann verwendet werden, um neue Elemente zum Objekt Collection hinzuzufügen.
oCollection.Add(item, [key], [before|after])
item: das Element, das Collection hinzugefügt werden soll. Kann von beliebiger Art sein.
key: Zeichenfolge, die als eindeutiger Schlüssel verwendet wird, um diesen Wert zu identifizieren.
before, after: optionales Schlüsselwortargument, das angibt, wo das neue Element in Collection platziert wird. Nur eines der Argumente before oder after kann angegeben werden, um den Index oder Schlüssel zu bestimmen, vor (oder nach) dem das neue Element platziert werden soll.
Das folgende Beispiel fügt zwei Elemente zu Collection hinzu. Dem ersten ist ein Schlüssel zugeordnet, dem zweiten nicht.
Dim myCollection as New Collection
myCollection.Add(100, "first")
myCollection.Add(101)
Die Methode Add unterstützt auch Schlüsselwortargumente:
myCollection.Add(item := 100, key := "first")
Schlüssel müssen in einem Objekt Collection eindeutig sein. Der Vergleich zwischen Schlüsseln ist unabhängig von der Groß-/Kleinschreibung. Das Hinzufügen doppelter Schlüssel führt zu einem Laufzeitfehler.
Das folgende Beispiel veranschaulicht, wie die Schlüsselwortargumente Before und After verwendet werden, um die Position des hinzuzufügenden Elements zu bestimmen.
Dim myCollection as Variant
myCollection = New Collection
myCollection.Add(item := 101, key := "first")
myCollection.Add(item := 103, key := "third")
myCollection.Add(item := 105, key := "fifth")
MsgBox myCollection.Item(2) ' 103
myCollection.Add(item := 102, key := "second", before := "third")
MsgBox myCollection.Item(2) ' 102
myCollection.Add(item := 104, key := "fourth", after := 3)
MsgBox myCollection.Item(4) ' 104
Elementen in einem Objekt Collection wird ein ganzzahliger Indexwert zugewiesen, der bei 1 beginnt und der Reihenfolge entspricht, in der sie hinzugefügt wurden.
Verwenden Sie die Methode Item, um auf ein bestimmtes Element über seinen Index oder Schlüssel zuzugreifen.
oCollection.Item(index)
oCollection.Item(key)
index: ein ganzzahliger Wert, der den Index des zurückzugebenden Elements angibt.
key: eine Zeichenfolge, die den Schlüssel des zurückzugebenden Elements angibt.
Dim myCollection as New Collection
myCollection.Add(item := 101, key := "A")
myCollection.Add(item := 102, key := "B")
myCollection.Add(item := 103, key := "C")
MsgBox myCollection.Item("A") ' 101
MsgBox myCollection.Item(3) ' 103
Verwenden Sie die Methode Remove, um Elemente aus einem Objekt Collection zu löschen.
Elemente können entweder anhand ihrer Indizes oder ihrer Schlüsselwerte entfernt werden.
oCollection.Remove(index)
oCollection.Remove(key)
index: ein ganzzahliger Wert, der den Index des zu entfernenden Elements angibt.
key: eine Zeichenfolge, die den Schlüssel des zu entfernenden Elements angibt.
Dim myCollection as New Collection
myCollection.Add(item := 101, key := "first")
myCollection.Add(item := 102, key := "second")
myCollection.Add(item := 103, key := "third")
MsgBox myCollection.Count ' 3
' Removes the first value
myCollection.Remove(1)
' Removes the value whose key is "third"
myCollection.Remove("third")
MsgBox myCollection.Count ' 1
Es ist möglich, eine Anweisung For Each … Next zu verwenden, um alle Elemente in Collection zu durchlaufen.
Dim myCollection as New Collection
myCollection.Add(item := 101, key := "A")
myCollection.Add(item := 102, key := "B")
myCollection.Add(item := 103, key := "C")
For Each value In myCollection
MsgBox value
Next value
Um alle Elemente aus einem Objekt Collection zu entfernen, rufen Sie die Methode Remove für jedes Element auf, wie im folgenden Beispiel dargestellt:
' Erstellt eine "Collection" mit zwei Einträgen
Dim myCollection as New Collection
myCollection.Add(item := 10, key := "A")
myCollection.Add(item := 11, key := "B")
MsgBox myCollection.Count ' 2
' Entfernt alle Elemente aus "Collection"
For i = myCollection.Count To 1 Step -1
myCollection.Remove(i)
Next i
MsgBox myCollection.Count ' 0