ファイルのコピー(CopyFile)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "C:\MyTest\sample.txt", "C:\MyTest\Backup\sample.txt"
- コピー元は そのまま残る
- 上書き可:第3引数 True を指定すれば上書き可能
- コピー先のフォルダが存在しないと エラー
ファイルの移動(MoveFile)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile "C:\MyTest\sample.txt", "C:\MyTest\Backup\sample.txt"
- コピー元は 削除される(移動)
- 上書き不可:コピー先にファイルがあると エラー
- ファイルが開かれていると移動失敗
フォルダのコピー(CopyFolder)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFolder "C:\MyTest\Data", "C:\MyTest\Backup\Data"
- サブフォルダ・ファイル含めて 再帰的にコピー
- 上書き可能(既存フォルダがある場合、中身がマージされる)
フォルダの移動(MoveFolder)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFolder "C:\MyTest\Data", "C:\MyTest\Backup\Data"
- 元フォルダは 削除される(完全移動)
- 先に同名フォルダがあると エラー
まとめ
操作 | 元データ | 上書き | フォルダごと | 備考 |
---|
CopyFile | 残る | 可 | ✕ | ファイル単体対象 |
MoveFile | 消える | 不可 | ✕ | ファイル開かれていると失敗 |
CopyFolder | 残る | 可 | ○ | 存在するフォルダには中身だけコピー |
MoveFolder | 消える | 不可 | ○ | 同名フォルダがあるとエラー |
コメント