ファイルのコピー

ファイルのコピーはそのものズバリ「FileCopy」ステートメントです。
単一ファイルのコピーなら1行で記述できます。

Option Explicit
Private Const g_cnsSOUR = "C:\TEMP\AAA\SAMPLE1.txt"   ' 元ファイル
Private Const g_cnsDEST = "C:\TEMP\BBB\SAMPLE2.txt"   ' 先ファイル

' ファイルコピーのサンプル
Sub CopySample()
    ' ファイルをコピー
    FileCopy g_cnsSOUR, g_cnsDEST                   ' ←※
End Sub
コピー元、コピー先ともにフルパスでファイル名まで指定します。

FSO(FileSystemObject)の場合は「CopyFile」メソッドです。
引数は、「コピー元ファイル名」、「コピー先ファイル名」、「上書き指定(OverWrite)」です。

'***************************************************************************************************
'   ファイルコピーサンプル                                          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 >>------------------------------------------
②の方のサンプルで分かるように「ワイルドカード」によるコピーが可能です。 これにより、複数のファイルをまとめてコピーするなどが可能となりますが、処理中に開いているファイルがあるなどでエラーになるとコピー済み分の復旧などは行なわれず、エラー時点で単に中断となります。

FSO(FileSystemObject)には「CopyFolder」メソッドもあります。
こちらの記述だと、「AAA」フォルダの配下の全サブフォルダが、「BBB」フォルダ内にコピーされます。

'***************************************************************************************************
'   フォルダコピーサンプル                                          Module3(Module)
'
'   作成者:井上治  URL:https://www.ne.jp/asahi/excel/inoue/ [Excelでお仕事!]
'***************************************************************************************************
' [参照設定]
'   ・Microsoft Scripting Runtime
'***************************************************************************************************
Option Explicit

'***************************************************************************************************
'   ■■■ サンプルコード ■■■
'***************************************************************************************************
'* 処理名 :FolderCopySample1
'* 機能  :フォルダコピーサンプル(ワイルドカード)
'---------------------------------------------------------------------------------------------------
'* 返り値 :(なし)
'* 引数  :(なし)
'---------------------------------------------------------------------------------------------------
'* 機能説明:コピー元フォルダの全てのテキストファイルをコピー先フォルダにコピーする
'* 注意事項:コピー先フォルダに対象ファイル名のファイルがある場合は上書きされる
'***************************************************************************************************
Sub FolderCopySample1()
    '-----------------------------------------------------------------------------------------------
    Const cnsSOUR As String = "C:\TEMP\AAA\*"                       ' 元フォルダ(配下の全サブフォルダ)
    Const cnsDEST As String = "C:\TEMP\BBB\"                        ' 先フォルダ
    Dim objFso As FileSystemObject                                  ' FileSystemObject
    Set objFso = New FileSystemObject
    ' FSOによるフォルダコピー
    objFso.CopyFolder cnsSOUR, cnsDEST, True        ' ←※
    Set objFso = Nothing
End Sub

'--------------------------------------<< End of Source >>------------------------------------------