String List
Zuletzt geändert: 14.03.2026 11:04

StringList #

Das StringList-Hilfsobjekt dient als Speicher für Texte, die aus mehreren Zeilen bestehen. Auf die einzelnen Zeilen kann über ihre ordinale Position (Index von Null beginnend) zugegriffen werden. Das Objekt wird über Client.CreateObject("Eulanda.StringList") oder über Client.NewStrings erzeugt.

Set SL = Client.CreateObject("Eulanda.StringList")
' oder kürzer:
Set SL = Client.NewStrings("")

Eigenschaften #

EigenschaftTypZugriffBeschreibung
Strings[Index]Stringlesen/schreibenZugriff auf eine bestimmte Zeile (0-basiert)
TextStringlesen/schreibenAlle Zeilen als zusammenhängender Text mit Zeilenumbrüchen
CountIntegernur lesenAnzahl der Zeilen

Methoden #

MethodeBeschreibung
LoadFromFile(FileName)Lädt eine Textdatei
SaveToFile(FileName)Speichert in eine Textdatei
Add(S)Fügt eine Textzeile am Ende an
ClearLöscht alle Zeilen
Delete(Index)Löscht eine bestimmte Zeile
Insert(Index, S)Fügt eine Zeile an einer bestimmten Position ein
Exchange(Index1, Index2)Tauscht zwei Zeilen
Sort(Options)Sortiert die Liste
IndexOf(S)Gibt die Position eines Strings zurück (-1 wenn nicht gefunden)
Remove(StringOrStrings)Entfernt einen oder mehrere Strings
AddStrings(StringOrObject)Fügt mehrere Strings hinzu. Parameter kann ein mehrzeiliger String, ein Array oder eine StringList sein
toArrayGibt ein Varianten-Array mit den einzelnen Strings zurück

Beispiele #

Grundlegende Funktionen #

Dim s, SL

Set SL = Client.CreateObject("Eulanda.StringList")

' Anfügen von drei Textzeilen
SL.Add "Bananen"
SL.Add "Orangen"
SL.Add "Aprikose"

' Sortieren der Liste
SL.Sort

' Anzeige des sortierten Textes
MsgBox SL.Text

' Die dritte Zeile (Index 2, da der Index mit 0 beginnt) wird manipuliert
SL.Strings(2) = SL.Strings(2) & "-Saft"

' Erneute Anzeige des Textes
MsgBox SL.Text

' Speichern des Textes auf der lokalen Festplatte
SL.SaveToFile "C:\Obst.txt"

Set SL = Nothing

Zeilen in einem Text zählen #

Function LineCount(s)
  With Client.CreateObject("Eulanda.StringList")
    .Text = s
    LineCount = .Count
  End With
End Function

MsgBox CStr(LineCount("Zeile 1" & vbCrLf & "Zeile 2"))

Siehe auch #