Hejsan, Hej, Borde kunna lösas på detta sätt.Formatera textfil
Jag har ett problem som jag brottats med. Jag vill formatera om en textfil enligt följande.
Nuvarande:
a;b;c;d;e;
aa;aa;aaaaa;aaaa;aaa
Skall vara:
a ;b ;c ;d ;e;
aa ;aa ;aaaaa ;aaaa ;aaa
Jag vill alltså skapa ett program som räknar tecken fram till semikolonet och om det behövs fyller på med blanksteg till ett förutbestämt antal tecken och sen fortsätter att räkna till nästa semikolon. Detta skall det göra rad för rad tills textfilen är slut och antingen skriva det till en ny fil eller ändra befintlig.
Tacksam för tips!!
BosseSv: Formatera textfil
En liten undran här är hur det ska lösas om antalet tecken mellan två semikolon är större än antalet tecken som ska vara en "tab" som du ju verkar vara ute efter. Tabseparerade fält är något jag har dåliga erfarenheter av och jag inte alls rekommenderar.
Utan att gå in på färdigt kodexempel för hela problemet så är lösningen troligtvis att splitta datan rad för rad och sedan lägga till så många mellanslag som saknas som typ
";" & DataArray(x) & Space(TabLangd-Len(DataArray(x)))
för varje post per rad.
Men än en gång: tabseparerat har flera brister och bör enligt min uppfattning undvikas i möjligaste mån.
Mvh
/EESv: Formatera textfil
Dim SplitArray As Variant
Dim i As Integer
Dim OnePart As String * 10
Dim OneRow As String
Dim Str1 As String
Str1 = "aaa;bbbbb;c"
SplitArray = Split(Str1, ";", , vbTextCompare)
For i = LBound(SplitArray) To UBound(SplitArray)
OnePart = SplitArray(i)
Mid(OnePart, 10, 1) = ";"
OneRow = OneRow & OnePart
'Skriv till filen...
Next i