record in .txt file aanpassen en wegschrijven

Status
Niet open voor verdere reacties.

Sjeisbroochem

Nieuwe gebruiker
Lid geworden
22 apr 2010
Berichten
2
Hallo, ik heb het volgende probleem in VBA excel waar ik niet uit kom
.
Met een subroutine schrijf ik gegevens weg naar een .txt bestand welke ik met een punt komma in het bestand scheidt. De gegevens die ik weg wil schrijven zijn bijvoorbeeld een nummer, naam, adres en leeftijd.

In de tekstfile ziet dit er dan als volgt uit:

1;Kees;Dorpelstraat 1;40
2;Sjaak;Langeweg 2;25
3;Cindy;Rozenstraat 16;40

Vervolgens is 'Sjaak' een jaar ouder geworden en wil ik zijn oude leeftijd (25) vervangen door zijn nieuwe leeftijd (26). Hoe kan ik dit het bestand dan aanpassen en hetzelfde bestand ook weer opslaan?

Op zich heb ik al een routine voor het aanpassen maar het wegschrijven lukt me niet :confused:. Bovendien wil ik het juiste record aanpassen!

Sub File()
Dim A, srtT

A = "test.txt"

Open A For Input As #1

While Not EOF(1)
Line Input #1, strT
strT = Replace(strT, "25", "26")
Print #1, strT
Wend

Close #1
End Sub

Iemand een idee...?
 
Waarom pas je het niet aan in de Excel file en laat je het export proces (ongewijzigd) nog eens lopen?

Meer zelfs, laat de leeftijd met een formule berekenen en je moet enkel nog exporteren.

Wigi
 
@wigi:

Omdat het excelbestand door meerder personen tegelijk moet worden gebruikt. Alleen de 1e gebruiker kan dan wijzigingen opslaan. Ik wil wijzigingen dus apart kunnen wegschrijven door verschillende gebruikers en daarna weer ophalen in mijn programma.
 
Sjeis....

Om iets naar een bestand te kunnen schrijven zul je moeten werken met:
Code:
Open [COLOR="Red"]B[/COLOR] For [COLOR="Red"]Out[/COLOR]put As #1

Of

Code:
Open A For [COLOR="Red"]In[/COLOR]put As #1
Lees je regel uit in een variabele
Close #1

Open A For [COLOR="Red"]Out[/COLOR]put As #1
Schrijf je variabele terug in het bestand.
Close #1
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan