Ik heb dus een Access-bestand dat ik regelmatig naar een andere map wil laten kopiëren, ter vervanging van de laatste versie. Ik wil hiervoor een Excel-macro gebruiken en wil het bestand daarbij ook een andere naam geven.
Bijv.
fileName = "X:\Database\oldName.accdb"
copyDestination = "Y:\dbstore\"
newName = "newName.accdb"
Is er een gemakkelijke manier om dit te doen?
Gebruik de juiste methoden in Scripting.FileSystemObject. Dan zal je code beter overdraagbaar zijn naar VBScript en VB.net. Om je op weg te helpen, heb je nodig:
Dim fso As Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
Dan zou je gebruik kunnen maken van
Call fso.CopyFile(source, destination[, overwrite] )
waarbij bron en bestemming de volledige namen zijn (inclusief paden) van de bestanden.
Zie https://docs.microsoft.com/en-us/office/vba/Language/Reference/user-interface-help/copyfile-method
Er is één ding dat mij een enorme hoofdpijn bezorgde toen ik deze code gebruikte (misschien hebben anderen er ook last van en ik wou dat iemand een opmerking als deze hier had achtergelaten zodat ik die kon lezen):
Mijn oplossing zal zijn om de code (On timer event) uit te voeren vanuit een ander verborgen formulier dat met de database wordt geopend.