VBAでファイルをコピーする方法にはいくつかのオプションがあります。一般的にはFileCopy
ステートメントやFileSystemObject
のCopyFile
メソッドが使用されます。
目次
FileCopyステートメントの使用例
FileCopy
ステートメントは、簡単にファイルをコピーするための基本的な方法です。
以下にサンプルコードを示します。
Sub SampleFileCopy()
FileCopy "C:\Path\SourceFile.txt", "C:\Path\DestinationFile.txt"
End Sub
このコードはC:\Path\
にあるSourceFile.txt
をDestinationFile.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
このコードではFileSystemObject
のCopyFile
メソッドを使ってファイルをコピーしています。このメソッドでは、コピー先に同名のファイルが存在した場合の挙動(この例では上書き)を指定できます。
注意点
FileCopy
ステートメントやFileSystemObject
のCopyFile
メソッドを使用する場合、いくつかの注意点があります。開いているファイルをコピーしようとするとエラーが発生すること、コピー元のファイルが存在しない場合にはエラーが発生すること、FileCopy
は同じファイル名がコピー先にあると無条件で上書きを行うことなどが挙げられます。
これらの情報を基に、VBAでファイルをコピーする際の方法を選択してください。また、ファイル操作を行う際は、常にエラーハンドリングを考慮に入れることが重要です。