機能と数式 | VBA | セミナー | オンラインソフト | お問い合わせ | その他
Top > Excel > VBA > FileSystemObject

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



【書式】
FileSystemObject.CopyFile source, destination[, overwrite]

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

引数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.xlsを、C:\Work\フォルダにコピーします
    FSO.CopyFile "C:\Tmp\Book1.xls", "C:\Work\"
    ''C:\Tmp\フォルダのBook1.xlsを、C:\Work\フォルダにSample.xlsという名前でコピーします
    FSO.CopyFile "C:\Tmp\Book1.xls", "C:\Work\Sample.xls"
    Set FSO = Nothing
End Sub



このエントリーをはてなブックマークに追加