FSO クラスのメソッドによるファルダをコピー、移動、削除

このコードは、FileSystemObject (FSO) を使用して、指定されたフォルダ内のサブフォルダをコピー、移動、および削除する方法を示しています。

' FSO クラスのメソッドによるファルダをコピー、移動、削除
Private Sub FSO_Folder_Copy_Move_Delete()
    ' 参照設定「Microsoft Scripting Runtime」必要
    With New FileSystemObject
    ' 以下は、参照設定有無にかかわらず使用可
    'With CreateObject("Scripting.FileSystemObject")
        
        ' コピーおよび移動元のフォルダパスを指定します
        Dim myPath As String
        myPath = "C:\TEMP"
        
        ' コピーおよび移動先のフォルダパスを指定します
        Dim myDestination As String
        myDestination = "C:\TEMP\コピー移動先\"

        ' 「hoge」フォルダを指定のコピー先にコピーします
        .CopyFolder myPath & "\hoge", myDestination
        ' 「fuga」フォルダを指定の移動先に移動します
        .MoveFolder myPath & "\fuga", myDestination
        ' 「piyo」フォルダを削除します
        .DeleteFolder myPath & "\piyo"
    End With
End Sub

全体の概要

このサブプロシージャ FSO_Folder_Copy_Move_Delete は、FileSystemObject を使って特定のフォルダ内のサブフォルダをコピー、移動、削除する例を示しています。VBA 内で動作し、ファイルシステムの操作を行います。

コードの詳細

  1. FileSystemObjectの作成:With New FileSystemObject
    ここでは FileSystemObject のインスタンスを作成しています。このオブジェクトを使ってファイルシステムにアクセスします。
    ' 以下は、参照設定有無にかかわらず使用可 ' With CreateObject("Scripting.FileSystemObject")
    参照設定がなくても動作するコードをコメントアウトしています。
  2. コピーおよび移動元のフォルダパスの指定:Dim myPath As String myPath = "C:\TEMP"
    コピーおよび移動の元となるフォルダパスを myPath という変数に設定しています。
  3. コピーおよび移動先のフォルダパスの指定:Dim myDestination As String myDestination = "C:\TEMP\コピー移動先\"
    コピーおよび移動の目的地となるフォルダパスを myDestination という変数に設定しています。
  4. サブフォルダのコピー:.CopyFolder myPath & "\hoge", myDestination
    • myPath で指定されたパス(”C:\TEMP”)内の "hoge" フォルダを、指定されたコピー先(myDestination)にコピーします。
  5. サブフォルダの移動:.MoveFolder myPath & "\fuga", myDestination
    • myPath で指定されたパス(”C:\TEMP”)内の "fuga" フォルダを、指定された移動先(myDestination)に移動します。
  6. サブフォルダの削除:.DeleteFolder myPath & "\piyo"
    • myPath で指定されたパス(”C:\TEMP”)内の "piyo" フォルダを削除します。

コード全体の動作まとめ

  • FileSystemObject を使用して “C:\TEMP” フォルダ内のサブフォルダに対して操作を行います。
  • "hoge" フォルダを “C:\TEMP\コピー移動先” にコピーします。
  • "fuga" フォルダを “C:\TEMP\コピー移動先” に移動します。
  • "piyo" フォルダを削除します。

このコードを実行することで、指定されたサブフォルダに対するファイル操作(コピー、移動、削除)が実行されます。これにより、フォルダの管理が簡単に行えます。

Follow me!