Vba でフォルダーをコピーする方法 (例あり)
VBA のCopyFolderメソッドを使用して、フォルダーをある場所から別の場所にコピーできます。
このメソッドを実際に使用する一般的な方法は次のとおりです。
Sub CopyMyFolder()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source folder and destination folder
SourceFolder = "C:\Users\bob\Documents\current_data"
DestFolder = "C:\Users\bob\Desktop\"
'copy folder
FSO.CopyFolder Source:=SourceFolder, Destination:=DestFolder
End Sub
この特定のマクロは、 current_dataという名前のフォルダーを、 Documentsフォルダーからデスクトップにコピーします。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA を使用してフォルダーをコピーする方法
「Documents」というフォルダー内に「current_data」というフォルダーがあるとします。
ここで、VBA を使用して、このフォルダー全体をDesktopにコピーするとします。デスクトップには現在 2 つのフォルダーが含まれています。
VBA を使用してこのファイルをコピーする前に、まず VB エディターでMicrosoft Scripting Runtime を有効にする必要があります。
これを行うには、VB エディターを開き、 [ツール]をクリックし、 [参照]をクリックします。
表示される新しいウィンドウで、 「Microsoft Scripting Runtime」が表示されるまで下にスクロールし、その横にあるチェックボックスをオンにします。次に、 「OK」をクリックします。
次に、フォルダーをコピーする次のマクロを作成します。
Sub CopyMyFolder()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source folder and destination folder
SourceFolder = "C:\Users\bob\Documents\current_data"
DestFolder = "C:\Users\bob\Desktop\"
'copy folder
FSO.CopyFolder Source:=SourceFolder, Destination:=DestFolder
End Sub
このマクロが実行されると、 current_dataという名前のフォルダーがドキュメントフォルダーからデスクトップにコピーされます。
元のcurrent_dataフォルダーも、 Documentsフォルダーに残ります。
注: CopyFolderメソッドの完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA を使用してフォルダーを作成する方法
VBAを使ってフォルダを削除する方法
VBAを使用してフォルダー内のファイルを一覧表示する方法