ファイルの移動

ファイルを移動させる。

FileSystemObjectのMoveFileメソッドを利用してファイルを移動させることができます。

MoveFileには下記の引数が設定できます。

引数名説明省略
第1引数source移動元のファイルパスの指定不可
第2引数destination移動先のファイルパスまたはフォルダの指定不可

移動させる時にファイル名を変更して移動させることも可能です、その場合は第2引数の末尾に”\”を付けない形で指定します。
名前を変更しないで移動させる場合は第2引数の末尾に”\”が必要になります。

またワイルドカードを使用して複数のファイルをまとめて移動させることもできます。

 ●同じファイル名のまま移動

'******************************************************************
' ファイルの移動(同じファイル名のまま移動)
'******************************************************************
Sub Main_MoveFile()
    
    '移動元のファイルパスの指定
    Dim sFileSrc As String
    sFileSrc = "C:\VBA\FSO\memo.txt"

    '移動先のフォルダを指定
    Dim sFileDst As String
    sFileDst = "C:\VBA\FSO\移動先\"

    'FileSystemObjectの作成
    Dim oFso As Object
    Set oFso = CreateObject("Scripting.FileSystemObject")
    
    'ファイルの移動
    Call oFso.MoveFile(sFileSrc, sFileDst)

End Sub

 ●ファイル名を変更して移動

'******************************************************************
' ファイルの移動(ファイル名を変更して移動)
'******************************************************************
Sub Main_MoveFile_ChangeName()
    
    '移動元のファイルパスの指定
    Dim sFileSrc As String
    sFileSrc = "C:\VBA\FSO\memo.txt"
    
    '移動先のファイルパスを指定(変更後のファイル名を指定)
    Dim sFileDst As String
    sFileDst = "C:\VBA\FSO\移動先\memo_rename.txt"

    'FileSystemObjectの作成
    Dim oFso As Object
    Set oFso = CreateObject("Scripting.FileSystemObject")
    
    'ファイルの移動
    Call oFso.MoveFile(sFileSrc, sFileDst)

End Sub

 ●複数のファイルをまとめて移動

'******************************************************************
' ファイルの移動(まとめて移動)
'******************************************************************
Sub Main_MoveFile_ALL()
Dim sFileSrc As String
Dim sFileDst As String
    
    '移動元のファイルパスの指定(ワイルドカード使用)
    sFileSrc = "C:\VBA\FSO\memo*.txt"
    
    '移動先のファイルパスを指定
    sFileDst = "C:\VBA\FSO\移動先\\"

    'FileSystemObjectの作成
    Dim oFso As Object
    Set oFso = CreateObject("Scripting.FileSystemObject")
    
    'ファイルの移動
    Call oFso.MoveFile(sFileSrc, sFileDst)

End Sub