アクセスファイルがあり、定期的に別のディレクトリにコピーして、最後のバージョンを置き換える必要があります。 これをExcelのマクロで実現したいのですが、その際にファイル名を変更したいと考えています。
例えば、以下のようになります。
fileName = "X:\Database\oldName.accdb"
copyDestination = "Y:\dbstore\"
newName = "newName.accdb"
簡単にできる方法はありますか?
Scripting.FileSystemObjectの適切なメソッドを使用してください。そうすれば、あなたのコードはVBScriptやVB.netへの移植性が高くなります。始めるにあたり、'をインクルードする必要があります。
Dim fso As Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
それから、次のようにします。
Call fso.CopyFile(source, destination[, overwrite] )
ここで、sourceとdestinationは、ファイルのフルネーム(パスを含む)です。
https://docs.microsoft.com/en-us/office/vba/Language/Reference/user-interface-help/copyfile-method を参照してください。
このコードを使用する際に、私が大きな頭痛の種となったことがあります(他の人にも影響するかもしれませんし、誰かがこのようなコメントを残してくれていたらと思います)。
私の解決策は、データベースで開く別の隠しフォームからコード(タイマーイベント時)を実行することです。