Tengo un archivo de acceso que necesito copiar regularmente en otro directorio, sustituyendo la última versión. Me gustaría utilizar una macro de Excel para conseguirlo, y también me gustaría renombrar el archivo en el proceso.
Por ejemplo
fileName = "X:\Database\oldName.accdb"
copyDestination = "Y:\dbstore\"
newName = "newName.accdb"
¿Hay alguna manera fácil de hacer esto?
Utilice los métodos apropiados en Scripting.FileSystemObject. Así su código será más portable a VBScript y VB.net. Para empezar, necesitará incluir:
Dim fso As Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
Luego puedes usar
Call fso.CopyFile(source, destination[, overwrite] )
donde origen y destino son los nombres completos (incluyendo las rutas) del archivo.
Véase https://docs.microsoft.com/en-us/office/vba/Language/Reference/user-interface-help/copyfile-method
Una cosa que me causó un enorme dolor de cabeza al usar este código (podría afectar a otros y desearía que alguien hubiera dejado un comentario como éste aquí para que yo lo leyera):
Mi solución será ejecutar el código (en el evento del temporizador) desde otro formulario oculto que se abra con la base de datos.