ファイルをコピーする(CopyFile メソッド)
FileSystemObject(FSO)を使用して、ファイルをコピーします。FileSystemObject(FSO)のインスタンスを生成する方法は、ファイルシステムオブジェクト(FileSystemObject)の使い方 を参照してください。
【書式】
object.CopyFile ( source, destination [, overwritefiles ] )
引数・戻り値
- object ・・・ FileSystemObject オブジェクトを指定します。
- source ・・・ コピー元ファイルのパスを含むファイル名を指定します。パスを省略するとカレントフォルダのファイルを対象となります。
- destination ・・・ コピー先のパスとファイル名を指定します。ここにパスのみ(「\」で終わる)指定した場合、source で指定したファイル名となります。ファイル名のみ指定した場合、カレントフォルダにファイルがコピーされます。
- overwritefiles ・・・ コピー先に同名ファイルがある場合に上書きする場合は、True、しない場合は、False を指定します。省略すると True を指定したものとされます。
引数 source のファイル名には、ワイルドカードが使用でき、一致するファイルが複数あればまとめてコピーすることができます。また一致するファイルがない場合、エラーが発生します。
引数 overwritefiles に False を指定した場合、コピー先に同名のファイルが存在するとエラーが発生します。
ConvertFormula メソッド 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Sub Sample_FSO_copyfile() 'ファイルをコピーする Dim fso As New FileSystemObject Dim file1 As String, file2 As String On Error GoTo myErr file1 = "C:\Documents\data2\*" file2 = "C:\Documents\data2\aaa\" 'ファイルをコピー fso.CopyFile Source:=file1, Destination:=file2, overwritefiles:=False Exit Sub myErr: 'エラーの内容を表示 MsgBox Err.Description End Sub |
実行結果
C:\Documents\data2 フォルダには、「test1.txt」、「test2.txt」、C:\Documents\data2\aaa フォルダにも、「test1.txt」、「test2.txt」が存在している状態で、「サンプルVBAソース」実行