Avatar billede jeny Nybegynder
17. september 2008 - 18:05 Der er 8 kommentarer og
1 løsning

Undgå en tom linje nederst i en tekstfil

Jeg har et problem når jeg via en makro gemmer et excelark som en tekstfil idet der sidst i filen kommer en tom linje. Tekstfilen skal efterfølgende indlæses i et andet system, men indlæsningen fejler pga. den tomme linje. Jeg har forsøgt at lave tekstfilen uden brug af en makro, men resultatet er det samme. Jeg kan selvfølgelig åbne tekstfilen i notepad og slette sidste linje, men der står mine brugere af.

Er der nogen som har nogle idéer?
17. september 2008 - 20:10 #1
Du kan evt. smide din kode her, så vi kan se, hvad du gør, så bliver det nok nemmere at hjælpe dig.
Avatar billede jeny Nybegynder
18. september 2008 - 09:48 #2
Jeg har brugt nedenstående kode:

Sub Tekstfil()

EksportAsTxt "c:\test.txt", Selection

End Sub


Sub EksportAsTxt(StrFileName As String, RngOmr As Range)

Const Delimiter      As String = ","
Dim x                As Long
Dim y                As Long
Dim TxtStr          As String
Dim AntalRows        As Long
Dim AntalCols        As Long
Dim Filno            As Long

Filno = FreeFile
AntalRows = RngOmr.Rows.Count
AntalCols = RngOmr.Columns.Count
Open StrFileName For Output As #Filno

For x = 1 To AntalRows
    TxtStr = ""
    For y = 1 To AntalCols
        TxtStr = TxtStr & RngOmr(x, y).Text
        If y < AntalCols Then
            TxtStr = TxtStr & Delimiter
        Else
            Print #Filno, TxtStr
        End If
    Next
Next
Close #Filno

End Sub
18. september 2008 - 10:47 #3
Jeg vil mene, at din blanke ekstra linie skyldes, at du afslutter med en "Delimiter" uden at have noget efter den, hvorfor jeg ville fjerne den sidste "Delimiter" inden print..

Det kunne se sådan ud:

Else
  TxtStr = Left(TxtStr, Len(TxtStr) - Len(Delimiter))
  Print #Filno, TxtStr
End If
Avatar billede jeny Nybegynder
18. september 2008 - 15:20 #4
Det fungerer desværre ikke. Jeg afslutter ikke linjen med en "Delimiter" - der skrives kun en delimiter hvis der er flere kolonner.
18. september 2008 - 15:25 #5
Det kan jeg egenlig god se  y < AntalCols

Det er noget med, at der engang var en fejl i Excel... hvordan har du tildelt værdi til RngOmr? via UsedCells?

Hvis man f.eks. har skrevet i en række og slettet indholdet igen, så tæller den nu og da med i UsedCells.

Kan du smide den kode du har, der hvor du tildeler RngOmr en værdi?
Avatar billede jeny Nybegynder
19. september 2008 - 13:47 #6
Der er ikke noget kode - brugeren markerer området der skal udlæses og kalder makroen.
19. september 2008 - 14:10 #7
Nu er jeg blevet nysgerrig.. for det sker faktisk også for mit lille add-in, som gør noget tilsvarende... hmm spændende!
Avatar billede jeny Nybegynder
22. september 2008 - 08:20 #9
Det ser ud til at det er dét der skal til. Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester