ファイルを移動させる。
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

