← コード一覧へ戻る
実務フォルダー

フォルダを作成する

既存の親フォルダーの直下へ、新しい空フォルダーを1つ作ります。

実行前に確認

  • Windows専用の例です。C:\Dataは例なので、自分で用意した練習用フォルダーの絶対パスに変更してください。
  • MkDirは存在しない親フォルダーを何階層もまとめて作成しません。

1サンプルコード

Sub Example4011()
    On Error GoTo Failed
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim folderPath As String
    folderPath = "C:\Data\新しいフォルダー"
    If fso.FolderExists(folderPath) Then
        MsgBox "既にフォルダーがあります"
        Exit Sub
    End If
    If fso.FileExists(folderPath) Then Err.Raise 58, , "同名のファイルがあります"
    If Not fso.FolderExists(fso.GetParentFolderName(folderPath)) Then Err.Raise 76, , "親フォルダーを先に用意してください"
    MkDir folderPath
    MsgBox "作成しました: " & folderPath
    Exit Sub
Failed:
    MsgBox "処理を中止しました: " & Err.Description
End Sub

図で見るファイルの変化

イメージ図

コードに沿った概念図です。実際の画面や実行結果ではありません。

  1. 作成前

    C:\Data:あり C:\Data\新しいフォルダー:なし

  2. マクロ:確認して作成

    親フォルダーと同名項目を確認し、MkDirを実行

  3. 作成後

    C:\Data\新しいフォルダー:空のフォルダーが1つ増える

既存フォルダーならそのまま終了。同名ファイルあり・親フォルダーなし・エラー時は中止。複数階層をまとめて作りません。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    Windows版のデスクトップExcelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]に、この例だけを貼り付けます。

  2. 2

    先にC:\Dataなどの親フォルダーを作り、folderPathを新規フォルダーのフルパスへ変えます。

  3. 3

    実行するSubの内側にカーソルを置き、F5キーを押します。

  4. 4

    同名フォルダーがあればそのまま終了します。なければ空フォルダーが1つ作成されます。

使っている機能の公式ドキュメント(Microsoft Learn)