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 内で動作し、ファイルシステムの操作を行います。
コードの詳細
- FileSystemObjectの作成:
With New FileSystemObject
ここではFileSystemObject
のインスタンスを作成しています。このオブジェクトを使ってファイルシステムにアクセスします。' 以下は、参照設定有無にかかわらず使用可 ' With CreateObject("Scripting.FileSystemObject")
参照設定がなくても動作するコードをコメントアウトしています。 - コピーおよび移動元のフォルダパスの指定:
Dim myPath As String myPath = "C:\TEMP"
コピーおよび移動の元となるフォルダパスをmyPath
という変数に設定しています。 - コピーおよび移動先のフォルダパスの指定:
Dim myDestination As String myDestination = "C:\TEMP\コピー移動先\"
コピーおよび移動の目的地となるフォルダパスをmyDestination
という変数に設定しています。 - サブフォルダのコピー:
.CopyFolder myPath & "\hoge", myDestination
myPath
で指定されたパス(”C:\TEMP”)内の"hoge"
フォルダを、指定されたコピー先(myDestination
)にコピーします。
- サブフォルダの移動:
.MoveFolder myPath & "\fuga", myDestination
myPath
で指定されたパス(”C:\TEMP”)内の"fuga"
フォルダを、指定された移動先(myDestination
)に移動します。
- サブフォルダの削除:
.DeleteFolder myPath & "\piyo"
myPath
で指定されたパス(”C:\TEMP”)内の"piyo"
フォルダを削除します。
コード全体の動作まとめ
FileSystemObject
を使用して “C:\TEMP” フォルダ内のサブフォルダに対して操作を行います。"hoge"
フォルダを “C:\TEMP\コピー移動先” にコピーします。"fuga"
フォルダを “C:\TEMP\コピー移動先” に移動します。"piyo"
フォルダを削除します。
このコードを実行することで、指定されたサブフォルダに対するファイル操作(コピー、移動、削除)が実行されます。これにより、フォルダの管理が簡単に行えます。