この記事ではMkDirステートメントの使い方と注意点について解説します。
他のよく使うステートメント一覧はこちら。
MkDirステートメントの使い方と注意点
MkDirステートメントは、指定したパスに新しいフォルダを作成するステートメントです。
VBAからプログラム的にフォルダを作りたいときに使用します。
構文
MkDir パス
- パス : 作成したいフォルダの完全パスまたは相対パス
使用例
フォルダを1つ作成する
Sub Sample()
MkDir "C:\Temp\TestFolder"
End Sub
▶ 出力結果
C:\Temp\下にTestFolderというフォルダが作成されます。
変数で指定されたフォルダを作成
パスを変数に格納して使用することも可能です。
Sub Sample()
Dim folderPath As String
folderPath = "C:\Temp\MyFolder"
MkDir folderPath
End Sub
フォルダが存在しないときだけ作成する
Sub Sample()
Dim folderPath As String
folderPath = "C:\Temp\MyFolder"
If Dir(folderPath, vbDirectory) = "" Then
MkDir folderPath
Else
Debug.Print "フォルダはすでに存在します"
End If
End Sub
▶ 出力結果(存在する場合)
フォルダはすでに存在します
⚠️注意
親フォルダが存在しないとエラー
Sub Sample()
MkDir "C:\NotExist\SubFolder"
End Sub
同名のフォルダが既に存在するとエラー
Sub Sample()
Dim folderPath As String
folderPath = "C:\Temp\MyFolder"
MkDir folderPath ' 成功
MkDir folderPath ' 失敗
End Sub
相対パスは現在のカレントディレクトリに依存
Sub Sample()
Dim currentDir As String
currentDir = CurDir()
Debug.Print "現在の作業フォルダは: " & currentDir
Dim folderPath As String
folderPath = "MyFolder"
MkDir folderPath
End Sub
▶ 出力結果
現在の作業フォルダは: C:\Temp