Gå til innhold

[Løst] Excel VBA - skrive til txt-fil - rot i rekkefølge


Anbefalte innlegg

Her er en forenklet versjon av en kode jeg har.

 

Sub blablabla()
TekstFil = "c:\mappe\fil.txt"
fnum = FreeFile()
Open TekstFil For Output As fnum

Start:
If noe Then
   noe annet
   Print #fnum, Et_Tall
Else
   Close #fnum
   Exit Sub
End If
GoTo Start
End Sub

Et_Tall er altså en variabel som hentes flere ganger. Problemet er at det første tallet som hentes ut er det som ender opp sist i tekstfilen. Så hvis det som hentes ut er

 

1

2

4

6

8

 

Da ser tekstfilen slik ut:

 

2

4

6

8

1

 

Altså perfekt rekkefølge bortsett fra det aller første tallet. Er dette kjent problematikk? Finnes det en workaround for å tvinge scriptet til å skrive til bunnen av tekstfilen hver gang?

Lenke til kommentar
Videoannonse
Annonse

Hei

 

Den merkelige rekkefølgen må ligge i koden din. Når du åpner "for output" beholdes ikke gammelt innhold i tekstfilen.

Prøv denne og se om tallene kommer i rekefølge:

 

Sub Test()

 

Dim fnum As Integer

 

Dim tekstfil As String

 

Dim i As Long

 

tekstfil = "c:\temp\fil.txt"

 

fnum = FreeFile()

 

Open tekstfil For Output As fnum

 

For i = 1 To 10

 

Print #fnum, i

 

Next

 

Close #fnum

 

End Sub

 

HTH. Beste hilsen Harald

Lenke til kommentar

Oh lord, jeg må ha vært tung i hodet i går ettermiddag. Brukte bokstavelig talt bare et minutt på å finne feilen nå. Tallet som skrives hentes fra gjeldende linje i ERP-systemet på jobben men i scriptet mitt så bytter jeg linje før jeg leser av tallet. Dermed så har jeg hele tiden lest av tallet fra linjen under den jeg ser etter. De siste ett-tallet kommer fra neste leverandør på listen...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...