Så jeg har en tilgangsfil som jeg regelmessig trenger å kopiere til en annen katalog, og som erstatter den siste versjonen. Jeg ønsker å bruke en Excel-makro for å oppnå dette, og ønsker også å gi filen et nytt navn i prosessen.
For eksempel
fileName = "X:\Database\oldName.accdb"
copyDestination = "Y:\dbstore\"
newName = "newName.accdb"
Finnes det en enkel måte å gjøre dette på?
Bruk de aktuelle metodene i Scripting.FileSystemObject. Da blir koden din mer portabel til VBScript og VB.net. For å komme i gang må du inkludere:
Dim fso As Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
Deretter kan du bruke
Call fso.CopyFile(source, destination[, overwrite] )
der kilde og destinasjon er filens fulle navn (inkludert stier).
Se https://docs.microsoft.com/en-us/office/vba/Language/Reference/user-interface-help/copyfile-method
En ting som forårsaket meg en massiv hodepine når jeg brukte denne koden (kan påvirke andre, og jeg skulle ønske at noen hadde lagt igjen en kommentar som denne her for meg å lese):
Løsningen min vil være å kjøre koden (On timer event) fra et annet skjult skjema som åpnes med databasen.