27. marts 2004 - 14:08Der er
13 kommentarer og 1 løsning
Mellemrumssepareret textfil (.prn) ombrydning af tegn over 240
Når man bruger gem som til at konvertere en excell fil til en mellemrumssepareret tekstfil (.prn), er der en begrænsning på 240 tegn, som gør at tegnene ombrydes ud over 240 til en ny linie ved slutningen af den konverterede fil. Jeg har behov for at filen kan vise 800 tegn på een linie. Jeg bruger notepad til at vise filen. Men der sker det at hvis f.eks. rækkerne 1 til 10 indeholder mere end 240 tegn, indsættes den resterende tekst fra række 1 til række 11, den resterende tekst fra række 2 i række 12 osv. Jeg har prøvet at downloade et konverteringsprogram fra converterzone.com, men det giver samme resultat. Softinterface.com har også et konverteringsprogram, men der findes formatet space delimited ikke. Er der nogen der ved, hvordan man kommer ud over den begrænsning? Jeg er lige startet med at bruge eksperten, men det ser ud som om jeg alligevel har 200 point at give.
Man kan f.eks. lave sin egen lille makro, som kan løse problematikken.
Public Sub WriteToFile() Dim sFileName As String Dim sLine As String Dim lFileNum As Long Dim lCol As Long Dim lRow As Long
sFileName = "C:\WriteToFile.prn"
With ActiveSheet lFileNum = FreeFile ' Create new file to write into Open sFileName For Output As #lFileNum
For lRow = 1 To ActiveSheet.UsedRange.Rows.Count ' Create sLine For lCol = 1 To ActiveSheet.UsedRange.Columns.Count sLine = .Cells(lRow, lCol).Value & " " Next lCol ' Removes the last space sLine = RTrim(sLine) ' Write line into sFileName Print #lFileNum, sLine Next lRow
Flemming, jeg må erkende, at jeg ikke er så skrap til dette. Jeg har prøvet at oprette en ny macro, hvor jeg har kopieret din macro tekst ind. Når jeg kører denne macro, laver den en .prn fil, men kun den sidste kolonne er med. Der er en 26 kolonner og 8200 rækker i min excel fil. Kan du ikke guide mig stille og roligt? Jeg vil godt give dig flere points, hvis du mener det løser problemet?
Point har aldrig løst noget problem. Der var en fejl i dannelsen af linien prøv denne her istedet. Du har iøvrigt gjort det rigtigt med at få den kopieret ind. Prøv igen.
Public Sub WriteToFile() Dim sFileName As String Dim sLine As String Dim lFileNum As Long Dim lCol As Long Dim lRow As Long
sFileName = "C:\WriteToFile.prn"
With ActiveSheet lFileNum = FreeFile ' Create new file to write into Open sFileName For Output As #lFileNum
For lRow = 1 To .UsedRange.Rows.Count sLine = "" ' Create sLine For lCol = 1 To .UsedRange.Columns.Count sLine = sLine & .Cells(lRow, lCol).Value & " " Next lCol ' Removes the last space sLine = RTrim(sLine) ' Write line into sFileName Print #lFileNum, sLine Next lRow
Flemming, Tak for din tillid til mine macroevner! Desværre kommer prn filen stadig ikke ud som den gerne skulle. Nu bliver tekststrengen ikke ombrudt, men feltlængden er ikke fast. Det skulle gerne se sådan ud: nummer data1 feltdato fornavn efternavn 00000234000000001 00023032004 jane musen
Jeg er i øvrigt glad for din respons. Jeg har brugt hele eftermiddagen til at søge over Internettet og læser i øjeblikket spørgsmål på MREXCELL.COM. Der er mange spørgsmål, men ingen kompetente svar. Hej Jane
Kære Flemming, ja tak, jeg ville sætte meget pris på hvis du ville hjælpe mig. Jeg sender dig en fil med 5 rækker. Men det kan være at jeg ikke kan komme til min mailbox i aften. Der bliver sommetider arbejdet med serveren i week-enden. I mellemtiden har jeg fundet noget interessant, her er linket. Jeg har ikke tid eller rettere kræfter til at arbejede med det før i morgen. http://support.microsoft.com/default.aspx?scid=kb;en-us;249885 Mange hilsner og ha' en god aften. Jane
Har afprøvet macro fra ovenstående microsoft link. Det kører udmærket og teksten bliver konverteret til en lang streng. Men der er der 2 mellemrum imellem hver celletekst. Jeg har prøvet at fjerne "space" i "select case" afsnittet, men der er stadig et mellemrum tilbage. Jeg er ikke dygtig nok til macroer. Hvordan fjerner jeg det sidste mellemrum?
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.