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文で繰り返し処理の始まりです。
カウンタ―変数に順次1~10の値を格納します。


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


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


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

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク