VBA:ファイルのコピー

VBAでファイルをコピーする方法にはいくつかのオプションがあります。一般的にはFileCopyステートメントやFileSystemObjectCopyFileメソッドが使用されます。

目次

FileCopyステートメントの使用例

FileCopyステートメントは、簡単にファイルをコピーするための基本的な方法です。

FileCopy “コピー元ファイル名” , “コピー先ファイル名”

以下にサンプルコードを示します。

Sub SampleFileCopy()
    FileCopy "C:\Path\SourceFile.txt", "C:\Path\DestinationFile.txt"
End Sub

このコードはC:\Path\にあるSourceFile.txtDestinationFile.txtとして同じパスにコピーします。

FileSystemObjectの使用

FileSystemObjectを使用すると、より高度なファイル操作が可能になります。以下にサンプルコードを示します。

Sub SampleFileSystemObjectCopy()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    FSO.CopyFile "C:\Path\SourceFile.txt", "C:\Path\DestinationFile.txt", True
End Sub

このコードではFileSystemObjectCopyFileメソッドを使ってファイルをコピーしています。このメソッドでは、コピー先に同名のファイルが存在した場合の挙動(この例では上書き)を指定できます。

注意点

FileCopyステートメントやFileSystemObjectCopyFileメソッドを使用する場合、いくつかの注意点があります。開いているファイルをコピーしようとするとエラーが発生すること、コピー元のファイルが存在しない場合にはエラーが発生すること、FileCopyは同じファイル名がコピー先にあると無条件で上書きを行うことなどが挙げられます​​​​。

これらの情報を基に、VBAでファイルをコピーする際の方法を選択してください。また、ファイル操作を行う際は、常にエラーハンドリングを考慮に入れることが重要です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次