'***************************************************************************************************
' ファイルコピーサンプル Module2(Module)
'
' 作成者:井上治 URL:https://www.ne.jp/asahi/excel/inoue/ [Excelでお仕事!]
'***************************************************************************************************
' [参照設定]
' ・Microsoft Scripting Runtime
'***************************************************************************************************
Option Explicit
'***************************************************************************************************
' ■■■ サンプルコード ■■■
'***************************************************************************************************
'* 処理名 :FileCopySample1
'* 機能 :ファイルコピーサンプル①(単一ファイル)
'---------------------------------------------------------------------------------------------------
'* 返り値 :(なし)
'* 引数 :(なし)
'---------------------------------------------------------------------------------------------------
'* 機能説明:単一ファイルを名前を変えて別フォルダにコピーする
'* 注意事項:コピー先フォルダに対象ファイル名のファイルがある場合は上書きされる
'***************************************************************************************************
Sub FileCopySample1()
'-----------------------------------------------------------------------------------------------
Const cnsSOUR As String = "C:\TEMP\AAA\SAMPLE1.txt" ' 元ファイル
Const cnsDEST As String = "C:\TEMP\BBB\SAMPLE2.txt" ' 先ファイル
Dim objFso As FileSystemObject ' FileSystemObject
Set objFso = New FileSystemObject
' FSOによるファイルコピー
objFso.CopyFile cnsSOUR, cnsDEST, True ' ←※
Set objFso = Nothing
End Sub
'***************************************************************************************************
'* 処理名 :FileCopySample2
'* 機能 :ファイルコピーサンプル②(ワイルドカード)
'---------------------------------------------------------------------------------------------------
'* 返り値 :(なし)
'* 引数 :(なし)
'---------------------------------------------------------------------------------------------------
'* 機能説明:コピー元フォルダの全てのテキストファイルをコピー先フォルダにコピーする
'* 注意事項:コピー先フォルダに対象ファイル名のファイルがある場合は上書きされる
'***************************************************************************************************
Sub FileCopySample2()
'-----------------------------------------------------------------------------------------------
Const cnsSOUR As String = "C:\TEMP\AAA\*.txt" ' 元ファイル(拡張子txt全て)
Const cnsDEST As String = "C:\TEMP\BBB\" ' 先フォルダ(右端\必須)
Dim objFso As FileSystemObject ' FileSystemObject
Set objFso = New FileSystemObject
' FSOによるファイルコピー
objFso.CopyFile cnsSOUR, cnsDEST, True ' ←※
Set objFso = Nothing
End Sub
'--------------------------------------<< End of Source >>------------------------------------------
②の方のサンプルで分かるように「ワイルドカード」によるコピーが可能です。
これにより、複数のファイルをまとめてコピーするなどが可能となりますが、処理中に開いているファイルがあるなどでエラーになるとコピー済み分の復旧などは行なわれず、エラー時点で単に中断となります。