VBA 新規フォルダーを作成するMkDir ステートメント

スポンサーリンク

MkDir【メイクデレクトリ】ステートメント

新規フォルダーを作成するには、MkDir【メイクデレクトリ】ステートメントを使用します。
複数のファルダーをまとめて作成するときなどに便利に利用できます。

MkDir【メイクデレクトリ】ステートメントの書式と設定値の説明

MkDir Path

  • Path【パス】(必須)
    新しく作成するファルダーの名前を指定します。パスを含めて指定できます。
    ファルダー名だけを指定した場合は、カレントファルダーに新規フォルダーが作成されます。ドライブ名を省略した場合はカレントドライブに作成されます。フォルダー名に[?][/][:][*][“][<][>][|]の文字は使用できません。すでに存在しているファルダー名を指定するとエラーになります。

このブックのパスにフォルダーを10個連番で作成するコードと解説

Sub フォルダー作成()
Dim i As Integer
On Error GoTo エラー処理
For i = 1 To 10
MkDir Path:=ThisWorkbook.Path & "¥データ" & i
Next i
MsgBox "フォルダーを" & i - 1 & "個作成しました。"
Exit Sub
エラー処理:
MsgBox "同じファイル名が存在するかファイル名が不正です。。"
End Sub
2行目【Dim i As Integer】
繰り返し処理で使用するフォルダーの個数を格納するカウンタ―変数「i」を整数型(Integer)で宣言しています。


3行目【On Error GoTo エラー処理】
エラーが発生したときに処理を9行目の「エラー処理ラベル」まで、移動させるOn Error【オンエラー】ステートメントの宣言です。


4行目【For i = 1 To 10】
For Next【フォーネクスト】ステートメントで繰り返し処理の始まりです。カウンタ―変数に順次1~10の値を格納します。


5行目【MkDir Path:=ThisWorkbook.Path & “¥データ” & i】
MkDir【メイクデレクトリ】関数でこのブックのパスにデータという名前のフォルダーを作成します。10回繰り返すので同じ名前の場合、エラーになるため連結演算子のアンパサンドでi変数の値(連番)をフォルダー名に連結しています。


7行目【MsgBox “フォルダーを” & i – 1 & “個作成しました。”】
ループを抜けたところでMsgBox【メッセージボックス】関数でメッセージを表示します。メッセージ内のi変数の値はループを抜けたところで11になっているので1減算して新規作成したフォルダーの個数を表示しています。

以上で、MkDir 【メイクデレクトリ】ステートメントについての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告