【EXCEL VBA】VBAでフォルダ作成、フォルダ削除、フォルダ存在チェックをしたい

以下記事で紹介した差し込み印刷で大量のPDFファイルが作成されると、日付フォルダなどに分別して保存したい場合があると思います。今回はVBAでフォルダを作成・削除する方法を紹介します。

フォルダ作成はMkdir、フォルダ削除はRmDirとなります。Dirでフォルダ存在チェックをしています。フォルダの2重作成や、存在しないフォルダを削除すると以下のエラーが発生します。実行時にフォルダの存在有無が決まっていない場合はDirでチェックをするのが良いと思います

2重作成時のエラー「実行時エラー’75’:パス名が無効です」

存在しないフォルダの削除「実行時エラー’76’:パスが見つかりません。」

サンプルプログラム

Option Explicit

Sub sample()
    Dim name As String

    name = "d:\tmp\tmp" '絶対パス指定
    
    ' "d:\tmp\tmp"フォルダがなければ作成する
    If dir(name, vbDirectory) = "" Then
        MkDir name
    End If
   
    ' "d:\tmp\tmp"フォルダがあれば削除する
    If dir(name, vbDirectory) <> "" Then
        RmDir name
    End If

    name = "sampleFolder" '相対パス指定

    ' カレントフォルダにsampleFolderフォルダがなければ作成する
    If dir(name, vbDirectory) = "" Then
        MkDir name
    End If

    ' カレントフォルダにsampleFolderフォルダがあれば削除する
    If dir(name, vbDirectory) <> "" Then
        RmDir name
    End If

End Sub