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を使用してフォルダー内のファイルを一覧表示する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です