For i = LBound(aPackage) To UBound(aPackage) x = Replace(aPackage(i), Chr(9), ",") x = Split(x, ",", -1, vbTextCompare) 'her kommer x til at se sådan ud : navn,værdi,,,false,,,,tru,,,, 'det ønskede er så at f bliver f = navn
Prøv det her. Tror der er ged i dit array. Du kan altid læse værdierne ind i de variabler du har lyst til. Jeg har sat en if for at fjerne de tomme værdier, men den kan du fjerne. sæt en knap og en list på din form og prøv ;-)
Option Explicit
Private Sub Command1_Click()
Dim tekstsplitarray() As String Dim i As Integer Dim mintekst As String
Når du skriver : x = Split(x, ",", -1, vbTextCompare) Så går det galt. Det du splitter skal være en string og det du splitter den over i, altså de forskellige værdier, skal være et array.
Så kan du istedet for skrive F = tekstsplitarray(0) G = tekstsplitarray(1)
bak, virker det? Det du skal splitte skal være en string, et array er jo allerede opdelt. Det du splitter det op i er et array, så kan du tildele værdien af din F G o.s.v. fra de forskellige pladser i arrayet.
Du skal se på eksempel nr 2. 1 var en fejlafskrivning af neeo's. Jeg går ud fra at han læser hele textfilen ind i et array (package) linie for linie som tekststrenge. Hver af disse tekststrenge ønsker han så bagefter at splitte ved kommaerne.
Dim x As Variant 'package som et array af stekstrenge, altså hver linie for sig. For i = LBound(aPackage) To UBound(aPackage) 'tag hver enkelt streng og split den. x = Split(aPackage(i), ",", -1, vbTextCompare) 'uddrag 1 og 6 del af x, hvor x er en variantarray Debug.Print x(0), x(6) 'print navnet Next
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.