Vba: ある場所から別の場所にファイルをコピーする方法
VBA のCopyFileメソッドを使用して、あるフォルダーから別のフォルダーにファイルをコピーできます。
このメソッドを実際に使用する一般的な方法は次のとおりです。
SubCopyMyFile ()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source file and destination folder
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFolder = "C:\Users\bob\Desktop\Some_Data_2\"
'copy file
FSO.CopyFile Source:=SourceFile, Destination:=DestFolder
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」をクリックします。
次に、次のマクロを作成してファイルをコピーします。
SubCopyMyFile ()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source file and destination folder
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFolder = "C:\Users\bob\Desktop\Some_Data_2\"
'copy file
FSO.CopyFile Source:=SourceFile, Destination:=DestFolder
End Sub
このマクロが実行されると、 soccer_data.txtという名前のファイルがSome_Data_1フォルダーからSome_Data_2フォルダーにコピーされます。
元のSoccer_data.txt ファイルもSome_Data_1フォルダーに残ります。
注: CopyFileメソッドの完全なドキュメントはここにあります。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。