FileSystemObjectオブジェクト - CopyFileメソッド


【書式】

FileSystemObject.CopyFile source, destination[, overwrite]

引数sourceに指定したファイルを、引数destinationにコピーします。

引数sourceにはワイルドカードを使用できます。ただし、ワイルドカードに該当するファイルが1つも存在しないとエラーになります。また、ワイルドカードが使えるのはパスの最終要素だけです。C:\Tmp\*.xlsxはC:\Tmp\フォルダ内の全てのxlsファイルをコピーしますが、C:\Tmp\*\Book1.xlsxはエラーになります。

引数destinationと同じ名前のファイルがすでに存在する場合、引数overwriteにTrueを指定すると上書きし、Falseを指定したときはエラーが発生します。引数overwriteを省略するとTrueとみなされます。

引数destinationが\で終わる文字列の場合は、引数destinationにフォルダが指定されたと解釈され、引数sourceで指定したファイルを引数destinationで指定したフォルダにコピーします。ただし、引数destinationに存在しないフォルダを指定するとエラーになります。

Sub test3()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    ''C:\Tmp\フォルダのBook1.xlsxを、C:\Work\フォルダにコピーします
    FSO.CopyFile "C:\Tmp\Book1.xlsx", "C:\Work\"
    ''C:\Tmp\フォルダのBook1.xlsxを、C:\Work\フォルダにSample.xlsxという名前でコピーします
    FSO.CopyFile "C:\Tmp\Book1.xlsx", "C:\Work\Sample.xlsx"
    Set FSO = Nothing
End Sub