Vba を使用してファイルを移動する方法 (例付き)
VBA でMoveFileメソッドを使用すると、ファイルをあるフォルダーから別のフォルダーに移動できます。
このメソッドを実際に使用する一般的な方法は次のとおりです。
Sub MoveMyFile()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"
'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile
End Sub
この特定のマクロは、 Soccer_data.txtというファイルをSome_Data_1というフォルダーからSome_Data_2というフォルダーに移動します。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA を使用してファイルを移動する方法
デスクトップ上のSome_Data_1というフォルダーにSoccer_data.txtというテキスト ファイルがあるとします。
ここで、VBA を使用して、このテキスト ファイルをデスクトップ上のSome_Data_2という別のフォルダーに移動するとします。このフォルダーには現在 2 つのテキスト ファイルが含まれています。
VBA を使用してこのファイルを移動する前に、まず VB エディターでMicrosoft Scripting Runtime を有効にする必要があります。
これを行うには、VB エディターを開き、 [ツール]をクリックし、 [参照]をクリックします。
表示される新しいウィンドウで、 「Microsoft Scripting Runtime」が表示されるまで下にスクロールし、その横にあるチェックボックスをオンにします。次に、 「OK」をクリックします。
次に、ファイルを移動する次のマクロを作成します。
Sub MoveMyFile()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"
'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile
End Sub
このマクロが実行されると、 soccer_data.txtという名前のファイルがSome_Data_1フォルダーからSome_Data_2フォルダーに移動されます。
すべてのファイルをあるフォルダーから別のフォルダーに移動する場合は、次の構文を使用できることに注意してください。
Sub MoveMyFile()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source and destination folders
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\*"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\"
'move all files from source folder to destination folder
FSO.MoveFile Source:=SourceFile, Destination:=DestFile
End Sub
この特定のマクロは、すべてのファイルをSome_Data_1フォルダーからSome_Data_2フォルダーに移動します。
注: MoveFileメソッドの完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。