SoftAid, hierbij dan mijn code....
Sub MoveOldFiles(NieuwBestand As String)
'procedure om een interface-folder opgeruimd te houden en de rest te moven naar een Old-folder
1 x = Dir("\\ggpsrv01\afd_beh\AID\Profielen-input\input acties*.xls")
2 'verwijder éérst alle oude interfacebestanden (move naar old)
3 Do Until x = "" 'ga net zo lang door tot er geen interface-bestand meer aanwezig is
4 'check of het bestand al bestaat in de Old-folder en voeg een versienummer toe als dit zo is
5 Do Until Len(Dir("\\ggpsrv01\afd_beh\AID\Profielen-input\Old\" & Replace(x, ".xls", "") & Versie & ".xls")) = 0
6 Versie = "_V" & IIf(IsEmpty(Versie), Versie, Replace(Versie, "_V", "")) + 1
7 Loop
8 'verplaats het bestaande bestand naar de Old-folder
9 Name "\\ggpsrv01\afd_beh\AID\Profielen-input\" & x As "\\ggpsrv01\afd_beh\AID\Profielen-input\Old\" & Replace(x, ".xls", "") & Versie & ".xls"
10 'haal een eventuele volgend bestaand bestand op om te testen en te verplaatsen
11 Versie = Empty
12 x = Dir("\\ggpsrv01\afd_beh\AID\Profielen-input\input acties*.xls")
13 Loop
End Sub
Voor het gemak heb ik er even regelnummers voor gezet zodat het uitleggen eenvoudiger wordt. Die nummers moet je vóór gebruik natuurlijk wél verwijderen.
Op regel 1 geef ik de variabele 'x' een waarde en wel die van het bestand waar ik naar ga zoeken. Dit heb ik met een asteriks gedaan zodat óók eventuele bestandsnamen met een versienummer worden gevonden. Het getoonde pad moet je uiteraard aanpassen naar een eigen pad (dit is er 1 bij mij op m'n werk naar een file-server).
Op regel 3 wordt de lus gestart. De lus moet net zolang doorgaan totdat de variabele x leeg is. Deze lus gebruik ik voor het verplaatsen van de bestanden naar de Old-directory (het gaat hier om een interface-bestand dat in een interface-directory wordt geplaatst. Vóór het plaatsen van de nieuwe wil ik dat de oude wordt veiliggesteld in een folder met de naam 'Old')
Op regel 5 gaan we checken of in die folder Old het bestand al bestaat. Dat gebeurt met de opdrachten Len en Dir. Als een bestand wordt gevonden is de string niet leeg en zal de functie Len een waarde opgeven die hoger is dan nul. Eerst wordt via de functie Replace de extensie van de naam gesloopt. Dan het versienummer van de variabele Versie toegevoegd om als laatste de extensie weer toe te voegen. De eerste keer van de 2e lus zal de variabele Versie nog leeg zijn.
Als het bestand - dus nog zonder toevoegingen - niet wordt gevonden geeft de functie Len een nul en zal de lus worden verlaten (er is immers géén versienummer nodig).
Op regel 6 kom je terecht als de bestandsnaam dus wél is gevonden. Dan wordt het tijd om een versienummer aan te gaan maken. Die variabele Versie is samengesteld uit een underscore en de letter V met een volgnummer. In de eerste keer dat de lus op deze regel komt zal de variabele Versie dus de waarde "_V1" krijgen omdat die variabele nog leeg was (dus nul plus één = één). Omdat er nu een bestand is gevonden (anders had je niet op regel 6 gekomen) ga je nogmaals door de lus via regel 5. NU is de variabele Versie wél gevuld en wordt er getest of het bestand met die toevoeging óók bestaat. Zo ja, dan treedt regel 6 weer in werking én daarin óók de functie Replace om even die "_V" van het getal te slopen om zo weer een optelling te kunnen maken (1 + 1 = 2; de variabele Versie wordt dus: "_V2"). Dit blijft zich herhalen tot de "nieuwe naam" niet meer wordt gevonden.
Op regel 9 wordt het basisbestand in de interface-directory (die daar dus áltijd uniek is!!!) verplaatst via de methode Name ... As. Je ziet dat het deel vóór As het pad is met de variabele x. Dat is dus het pad én de unieke - interface - bestandsnaam. In het 2e deel ná As zie je dat het pad verlengd is met de folder Old en dat via de functie Replace tijdelijke even de extensie wordt verwijderd, het versienummer via de variabele Versie wordt toegevoegd en tot slot wordt de extensie weer teruggezet. Het bestand is nu verplaatst.
Op regel 11 wordt de variabele Versie geleegd om weer schoon de lus in te kunnen gaan. Die eerst lus heb ik expres gemaakt om er voor te zorgen dat ook eventuele via de verkenner uit de Old-folder verplaatste bestanden (met versie-nummer), nogmaals worden verplaatst naar die Old-folder.
Op regel 12 wordt de variabele x gereset om dus verder schoon op zoek te kunnen gaan naar een volgend bestand dat begint met "input acties".
Op regel 13 wordt die lus weer ingezet (of niet)
Ik hoop dat je iets kan met deze bak tekst om zo die krentjes er uit te halen die voor jou geschikt zijn. Bij vragen weet je het forum vast wel weer te vinden.

Groet, Leo