15. februar 2014 - 13:16Der er
5 kommentarer og 1 løsning
kcoverterer *.txt til *.csv
Hej alle Er der nogle der har et bud på hvordan jeg kan gøre dette. Opgaven er følgende. Jeg modtager 2 filer hver måned med opdateringer, af priser og rabatter. Fil 1. Excel med priser 25000stk. rekord. fil 2. rabat fil (txt) Min opgave er at lave en skabelon/måde at konverterer rabat txt filen til csv fil og placerer rabat satsen i Excel filen. jeg viser her eksempler filerne og hvordan det skal bruges. fil 2 1107200LK INSTALLATIONSMATERIEL 280 1108200LK BELYSNING 220 1109200LK INTELLIGENTE SYSTEMER 300 1109300LK IHC WIRELESS 300 1121000SAMLEMUFFER OG TRÆSKRUER 100 1130000FORSKRUNINGER 360 Det er kun ciffer 2-5 der er rabatgruppen eks 1072 i første rekord.
Dette skal konverteres til 1,1072,00,LK INSTALLATIONSMATERIEL, 280 1,1082,00,LK BELYSNING, 220
så skal jeg på en eller anden måde kunne køre en opdatering af mit Excel ark vedr. priser og rabatter. Jeg kan sende et eksempel på et ark hvis nogle har et bud på hvordan dette gøres smartest.
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Ja det er de. 1107200LK INSTALLATIONSMATERIEL 280 1108200LK BELYSNING 220 1109200LK INTELLIGENTE SYSTEMER 300 1109300LK IHC WIRELESS 300 1121000SAMLEMUFFER OG TRÆSKRUER 100 1130000FORSKRUNINGER 360 Det er kun ciffer 2-5 der er rabatgruppen eks 1072 i første rekord.
I så fald tror jeg, at det kan håndteres inde fra Excel vha. Tekst til kolonner (Excel 2007). Brug 'Fast bredde' idet du tilpasser. således at det passer med strukturen af dine data.
Synes godt om
Slettet bruger
16. februar 2014 - 12:37#4
Det kan også laves uden at bruge regneark. Følgende vba løser det på filniveau og vba'en kan ligge i excel eller hvilket som helt office program der har vba. Faktisk kan det, med mindre omskrivning, laves som vb script.
'depends on reference: 'Microsoft Scripting Runtime'
Function FileSystemObject(): Set FileSystemObject = New FileSystemObject: End Function
Sub ExampleOfTxt2CsvUse(fnWOExt) array2file fnWOExt & ".csv", fix2csv(file2array(fnWOExt & ".txt")) End Sub
Sub array2file(fn, arr) Dim i With FileSystemObject.OpenTextFile(fn, 2, True) For Each i In arr: .WriteLine i: Next: .Close: End With End Sub
Function fix2csv(arr) Dim i For Each i In arr add2list fix2csv, insertAt(replaceFirstRev(rReplace(i, " ", " "), " ", ","), ",", 2, 6, 8): Next End Function
Function file2array(fn) With FileSystemObject.OpenTextFile(fn, 1) While Not .AtEndOfStream add2list file2array, .ReadLine: Wend: .Close: End With End Function
Function rReplace(container, searchStr, repl) rReplace = container While InStr(rReplace, searchStr) rReplace = Replace(rReplace, searchStr, repl) Wend End Function
Function insertAt(str, char, ParamArray pos()) Dim p, offset% insertAt = str For Each p In pos insertAt = Left(insertAt, p + offset - 1) & char & mid(insertAt, p + offset) offset = offset + 1 Next End Function
Function replaceFirstRev(container, searchStr, repl) Dim p p = InStrRev(container, searchStr) replaceFirstRev = Left(container, p - 1) & repl & mid(container, p + Len(searchStr)) End Function
Sub add2list(V, i) On Error Resume Next ReDim Preserve V(UBound(V) + 1) If err.Number = 13 Then ReDim V(0) If IsObject(i) Then Set V(UBound(V)) = i Else V(UBound(V)) = i End Sub
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.