Ein "String literal" ist aber keine String-Variable, sondern eine Zeichenfolge die mit " " (oder {}, | | ) eingeschlossen im Programmcode steht. Und diese haben eine begrenzte Länge. Man bekommt auch nur eine begrenzte Gesamtanzahl an Strings in eine Script-Bibliothek. Beim Speichern erscheint dann "not enough string space"
Wie oben schon geschrieben, sind Strings relativ "unbeschränkt". Folgender Code
Sub Initialize
Dim s As String
Dim c As long
For c = 1 To 100000
s = s + " "
Next
Print Len(s)
End Sub
gibt nach ein paar Sekunden 100000 aus (womit die 32/64k Grenze widerlegt wäre)
Achtung - persönliche Paranoia: Ich würde alles, was über 240 Zeichen hinausgeht, aber mal in Ruhe testen. Ebenso Spezial- und Sonderzeichen.
Hier kann ich nur zustimmen, insbesondere Umlaute werden oft anderes behandelt als vermutet (vor allem mit türkischer Locale ;D )
Gruß
Roland
Nach Durchlauf 27 kommt "Out Of String Space" ;)
Um die ursprüngliche Frage zu beantworten: SEHR lang.
Option Public
Option Declare
Dim l As Long
Dim i As Long
Dim s As String
Dim myList List As String
Sub Initialize
i = 0
l = 0
s = "A"
While i<30
Stop
l = Len(s)
myList(s) = CStr(l)
ForAll ele In myList
Print CStr(i) & " --> " & CStr(Len(ListTag(ele))) & " / " & myList(ListTag(ele))
End ForAll
i = i + 1
s = s + s
Wend
End Sub