gabrixl
Goto Top

Bestimmtes Arrayfeld mit Variable aufrufen? - VBS

Hallo zusammen!

Ist es möglich ein Arrayfeld mit einer Variable aufzurufen, anstatt eine Zahl zu verwenden?

Das war meine Idee, aber ich kriege leider immer eine Datentypenkonflikt-Fehlermeldung
i = 0
do until i = UBound(arr)
     Msgbox(arr(i))
     i = i + 1
loop

Danke für jede Hilfe! face-smile

Content-ID: 336709

Url: https://administrator.de/contentid/336709

Ausgedruckt am: 23.11.2024 um 21:11 Uhr

Kraemer
Kraemer 03.05.2017 aktualisiert um 09:25:49 Uhr
Goto Top
Moin,

was ist denn
arr
? Wie wurde das definiert?

Gruß
132895
132895 03.05.2017 aktualisiert um 09:31:11 Uhr
Goto Top
Ich schätze dein Arrayinhalt lässt sich einfach nicht als String in einer MsgBox ausgeben, deswegen der Typkonflikt.

Viel einfacher geht das iterieren über alle Array items mit einem for each loop
for each itm in arr
    'tu was mit itm  
next
Gruß
emeriks
emeriks 03.05.2017 um 09:32:59 Uhr
Goto Top
Hi,
Du benutzt doch bereits eine Variable dafür?
In Zeile 3 nutzt Du die Variable "i" um das Feld arr(i) anzuzeigen.
Oder was willst Du jetzt?

E.
gabrixl
gabrixl 03.05.2017 um 09:39:32 Uhr
Goto Top
Hi,

Habe den Inhalt einer Textdatei gesplittet und in das Array eingelesen:

Set File = fso.OpenTextFile(path, 1)
lineOne = File.ReadAll
arr = Split(lineOne, "¦")  

Gruss
emeriks
emeriks 03.05.2017 um 09:40:12 Uhr
Goto Top
Und was war jetzt die Lösung?
gabrixl
gabrixl 03.05.2017 um 09:41:54 Uhr
Goto Top
Hi,
Ja so hätte ich das gerne aber das funktioniert bei mir irgendwie nicht, weiss nicht wieso.
Tut mir leid falls ich mich unverständlich ausgedrückt habe...
Ich möchte das anhand von Wert (i) das Arrayfeld ausgegeben wird, dass wenn i den wert 4 hat, das auch das Arrayfeld 4 augegeben wird.

Gruss
gabrixl
gabrixl 03.05.2017 um 09:43:25 Uhr
Goto Top
Gab noch keine Lösung, habe mich mit dem Forum noch nicht zurecht gefunden. Mein Fehler.
emeriks
emeriks 03.05.2017 um 09:43:35 Uhr
Goto Top
Kann es sein, dass Du vergisst, dass der Index Null-basiert ist? Feld 4 hat den Index 3! face-wink
132895
132895 03.05.2017 aktualisiert um 09:47:19 Uhr
Goto Top
lines = Split(fso.OpenTextFile(path, 1).ReadAll(),vbNewline)
for each line in lines
    cols = Split(line, "¦",-1,1)  
    for each col in cols
        Msgbox col
    next
next
https://www.w3schools.com/asp/func_split.asp
gabrixl
gabrixl 03.05.2017 um 09:52:05 Uhr
Goto Top
Ups! Habe das Problem eben gefunden. Das Array wird in einem Sub erstellt und ist somit nicht Global. Dummer Anfänger Fehler..

Danke für eure Hilfe!

Gruss