VBA Dir() functie , alleen nieuwe files in dir

Status
Niet open voor verdere reacties.

Orcaa

Gebruiker
Lid geworden
1 nov 2010
Berichten
125
Wil met een macro uit een directory de .txt files inlezen en hieruit een stukje tekst in excel zetten.
Er komt in deze directory om de 5 minuten een nieuwe file bij.
Als ik nu de dir() functie weer aanroep, zal ie alle files uit de directory weer openen en het stukje tekst in excel zetten, ook degene die al ingelezen zijn.

Is er een mogelijkheid om aan te geven dat alleen de nieuwe files die nog niet geopend zijn in te lezen en de anderen die al eerder geopend zijn over te slaan
 
Daar zijn meerdere mogelijkheden voor.

Met de FileDateTime() functie kun je de datum/tijd opvragen van een bestand dat je hebt behandeld. Sla deze informatie van het laatste bestand dat je hebt behandeld op in een ander bestandje. Bij de volgende run lees je eerst dat bestand en behandel je vervolgens alleen de bestanden die een datum/tijd waarde hebben die hoger is dan de datum/tijd die je had opgeslagen.

De FileDateTime functie:
http://www.techonthenet.com/excel/formulas/filedatetime.php

Of verplaats een behandeld bestand naar een andere map zodat je na een run altijd een leeg mapje hebt. Dan behandel je bij een volgende run gewoon weer alle bestanden die er 5 minuten later weer staan.

Die laatste zou mijn voorkeur hebben omdat bij de eerste methode de doorlooptijd steeds langer zal zijn.
 
Laatst bewerkt:
Of wijzig de naam van een bestand dat 'bewerkt' is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan