ray88’s diary

お仕事で困ったとき用の自分用の覚書

VBA ファイルシステムオブジェクト Folderオブジェクト③主なメソッド

VBA FileSystemObjectの主なプロパティとメソッド - ray88’s diary
VBA ファイルシステムオブジェクト・GetFolder - ray88’s diary
VBA ファイルシステムオブジェクト Folderオブジェクト① - ray88’s diary
VBA ファイルシステムオブジェクト Folderオブジェクト②(主なプロパティ) - ray88’s diary

メンバー 説明
Sub Copy(Destination As String,[OverWriteFiles As Boolean = True]) FolderオブジェクトをDestinationで表されるフォルダにコピーするOverWriteFilesはファイルを上書きするかを表すブール値を指定する
Function CreateTextFile(FileName As String,[OverWrite As Boolean =True],[Unicode As Boolean =Flase]) As TextStream Folderオブジェクトにテキストファイルを作成しTextStreamオブジェクトとして返す OverWriteはファイルを上書きするかを表すブール値指定する 文字コードUnicodeにする場合はUnicodeにTrueを指定する(期待値はFalseで、文字コードはASCIIとなる)
Sub Delete([Force As Boolean = False]) Folderオブジェクトを削除する Forceには読み取り専用属性が設定されているフォルダを削除するかどうかをブール値で指定する
Sub Move(Destination As String) FolderオブジェクトをDestinationで表されるフォルダに移動する

■サンプルコード(Copy,Move,Delete)

Sub test()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Dim myPath As String: myPath = "C:\Users\デスクトップ\ExcelVBAプロジェクト\FSOテスト"
    Dim myDestination As String: myDestination = "C:\Users\デスクトップ\ExcelVBAプロジェクト\移動先\"
          
    With FSO.GetFolder(myPath)
        .SubFolders("hoge").Copy myDestination
        .SubFolders("fuga").Move myDestination
        .SubFolders("piyo").Delete
    End With
    
    Set FSO = Nothing
End Sub