03. september 2004 - 11:51Der er
9 kommentarer og 1 løsning
Tekstfil til excel
Efter at have forsøgt på 117 forskellige måde har det endnu ikke lykkeds mig at få konverteret en tekstfil til noget der er opdelt i kollonner i excel.
min tekstfil er opbygget på den her måde
22041 HH-Wandsbek Wandsbek 340
Og jeg skal bruge det føreste tal 22041 og det sidste tal 340, så den skal bare skilde ved det første mellemrum og tage den tekst og så bagefter tage fra det sidste mellemrum og så den tekst.
Hvordan kan jeg få lavet det?? og den skal bare køre i lykke til "end of file"
Kommunerne har digitaliseret indgangen for borgerne. Men bag skærmen håndteres mange arbejdsgange stadig manuelt mellem systemer, mails og organisatoriske siloer.
Dim oExcel As Excel.Application Dim oWorkbook As Excel.Workbook Dim txt As String Dim i As Integer Dim fso As FileSystemObject Dim filStream As TextStream Set oExcel = New Excel.Application Set oWorkbook = oExcel.Workbooks.Open("c:\tal.xls") Set fso = New FileSystemObject Set filStream = fso.OpenTextFile("c:\tal.txt", ForReading) i = 0 While Not filStream.AtEndOfStream arr = Split(filStream.ReadLine, " ") oWorkbook.ActiveSheet.Range("a1").Offset(i, 0).Value = arr(0) oWorkbook.ActiveSheet.Range("a1").Offset(i, 1).Value = arr(3) i = i + 1 Wend
filStream.Close oWorkbook.Close Set fso = Nothing
Set oWorkbook = Nothing Set oExcel = Nothing
Det kræver tekst filen ligger på c: og hedder tal.txt og der også ligger en Excelfil på c: der hedder tal.xls
Desuden skal der i Visual Basic sættes en reference til Microsoft scripting Runtime og til Microsoft Excel Object Library
kedde65 hvordan sætter man så det op, altså "Desuden skal der i Visual Basic sættes en reference til Microsoft scripting Runtime og til Microsoft Excel Object Library"
og hvordan skal jeg køre det?? skal det køres direkte fra Excel eller fra et andet program??
Ja den fejl du får er fordi du ikke har sat de referencer jeg sagde. Jeg har lavet koden til at køre fra ren Visual Basic programmerings sproget. Det kan sagtens laves om så det kan køre fra Excel VBA istedet.
Referencer I Visual Basic skal sættes i menuen Project - references
Hermed koden til Excel VBA. Der skal stadig sættes en reference til Microsoft Scripting Runtime gøre i menuen Tools - references
Sub loadText() Dim txt As String Dim i As Integer Dim fso As FileSystemObject Dim filStream As TextStream Set fso = New FileSystemObject Set filStream = fso.OpenTextFile("c:\tal.txt", ForReading) i = 0 While Not filStream.AtEndOfStream arr = Split(filStream.ReadLine, " ") Range("a1").Offset(i, 0).Value = arr(0) Range("a1").Offset(i, 1).Value = arr(3) i = i + 1 Wend
i andere skal selvfølgelig også have tak for hjælpen
Synes godt om
Ny brugerNybegynder
Din løsning...
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.