mkdir

Windowsで特定のフォルダ内に、たくさんのフォルダを作成する必要ができました。

Excelに作成したいフォルダ名を入力しておいて、VBAで一括でフォルダを作ることにしました。

マクロが入っているファイルと同じフォルダに一括でフォルダを作成してみます。

そのサンプルです。

< スポンサーリンク >





VBAで一括でフォルダを作成するサンプル

作成したいフォルダが既にある場合はエラーになるので、フォルダの存在チェックも入れておきます。

' フォルダ作成
Sub Make_Folder()
    Dim WS As Worksheet
    Dim PathTxt As String
    Dim FolderPathTxt As String
    Dim FolderExist As Boolean
    Dim i As Long
    
    ' アクティブシートをセット
    Set WS = ActiveSheet
    
    ' このブックのパス取得
    PathTxt = ThisWorkbook.Path
    
    ' 1列目から5行目まで繰り返す
    For i = 1 To 5
        ' 作成したいフォルダ名を作成
        FolderPathTxt = PathTxt & "\" & WS.Cells(i, 1).Value
        
        'フォルダ存在チェック
        FolderExist = Folder_Exist(FolderPathTxt)
        
        ' フォルダが存在しない場合フォルダ作成
        ' フォルダが存在する場合2列目に「既存」
        If FolderExist = False Then
            MkDir FolderPathTxt
        Else
            WS.Cells(i, 2).Value = "既存"
        End If
    Next i
    
    MsgBox "終了"
End Sub

'フォルダ存在チェック
Function Folder_Exist(FolderPathTxt As String) As Boolean
    ' フォルダが存在しない場合はFalse
    ' フォルダが存在する場合はTrueを返す
    If Dir(FolderPathTxt, vbDirectory) = "" Then
        Folder_Exist = False
    Else
        Folder_Exist = True
    End If
End Function

 

シートに作成したいフォルダ名を入力しておきます。

フォルダリスト

 

マクロを実行する前の画像です。リストの中のフォルダを1つ作っておいてエラー時に2列目に「既存」と入力されるか試してみます。

フォルダリストファイル

 

マクロを実行してみました。フォルダが作成されました。

フォルダ

 

既に存在していたフォルダの2列目に「既存」と入力されています。成功です。

フォルダ作成結果

 

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします