
FileオブジェクトとFolderオブジェクトのMoveメソッドについてです。
Moveメソッド
概要
指定したファイルやフォルダーを、指定したフォルダーに移動できます。
構文
【ファイルの場合】
FileObject.Move(destination)
【フォルダーの場合】
FolderObject.Move(destination)
Moveメソッドの引数
引 数 | 必須 / 省略可 | 詳 細 |
移動先 | 必須 | 移動先のフォルダーパスを指定。 |
VBAサンプル
ファイルの移動
FileオブジェクトのMoveメソッドを使用するには、FileSystemObjectのGetFileメソッドで指定したファイルのFileオブジェクトが返るので、FileオブジェクトのMoveメソッドを使用することでファイルの移動ができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 | Sub test() 'FileSystemObjectを宣言 Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") 'Fileオブジェクトを宣言 Dim f As File 'FileSystemObjectのGetFileメソッドでFileオブジェクトをセット Set f = fso.GetFile("D:\FSO\Folder1\test1.txt") 'FileオブジェクトのMoveメソッドでファイルを移動 f.Move ("D:\FSO\Folder2\") End Sub |
もしくは短縮した書き方もできます。
1 2 3 4 5 6 7 8 9 | Sub test2() 'FileSystemObjectを宣言 Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") 'FileSystemObjectのGetFileメソッドでFileオブジェクトを返させてMoveメソッドを使用 fso.GetFile("D:\FSO\Folder1\test1.txt").Move ("D:\FSO\Folder2\") End Sub |
※複数のファイルを移動する場合、FileSystemObjectのMoveFileメソッドを使用します。
フォルダーの移動
FolderオブジェクトのMoveメソッドを使用するには、FileSystemObjectのGetFolderメソッドで指定したフォルダーのFolderオブジェクトが返るので、FolderオブジェクトのMoveメソッドを使用することでフォルダーが移動できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 | Sub test3() 'FileSystemObjectを宣言 Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") 'Folderオブジェクトを宣言 Dim fol As Folder 'FileSystemObjectのGetFolderメソッドでFolderオブジェクトをセット Set fol = fso.GetFolder("D:\FSO\Folder1") 'FolderオブジェクトのMoveメソッドでファイルを移動 fol.Move ("D:\FSO\Folder2\") End Sub |
もしくは短縮した書き方もできます。
1 2 3 4 5 6 7 8 | Sub test4() 'FileSystemObjectを宣言 Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") 'FileSystemObjectのGetFolderメソッドでFolderオブジェクトのMoveメソッドで移動 fso.GetFolder("D:\FSO\Folder1").Move ("D:\FSO\Folder2\") End Sub |
※複数のフォルダーを移動する場合、FileSystemObjectのMoveFolderメソッドを使用します。