フォルダ フォルダがない場合作成するエラー取得-MkDirステートメント

VB&VBA
FROG ふろっぐ
 
  • オプション

    本文印刷

    お気に入りに追加

  • 検索

    Googlewwwjp-ia
     

    Googlewwwjp-ia
     
  • 情報

  • 関連

[VB&VBA][フォルダ フォルダがない場合作成するエラー取得-MkDirステートメント]
Option Explicit


Function FolderMaking(strPath As String, FolderName As StringAs Boolean
'****************************************
'フォルダ作成(エラー回避)
'****************************************

Dim strErr As String

On Error GoTo ErrEND:

    If Dir(strPath & "\" & FolderName, vbDirectory) = "" Then
        MkDir strPath & "\" & FolderName
        FolderMaking = True
    Else
        MsgBox FolderName & " は作成出来ません。", vbCritical, strPath
        FolderMaking = False
    End If
Exit Function

ErrEND:
strErr = Err.Description

'MsgBox strErr
Debug.Print strErr

FolderMaking = False

End Function


Private Sub test()
Dim a As String, b(20) As String, i As Byte
a = ThisWorkbook.Path

b(1) = "Test"
b(2) = "Test" '同名
b(3) = "Test\"      '使用不可文字
b(4) = "Test/"      '使用不可文字
b(5) = "Test:"      '使用不可文字
b(6) = "Test*"      '使用不可文字
b(7) = "Test?"      '使用不可文字
b(8) = "Test"""     '使用不可文字
b(9) = "Test<"      '使用不可文字
b(10) = "Test>"     '使用不可文字
b(11) = "Test|"     '使用不可文字
b(12) = "\Test"     '使用不可文字
b(13) = "/Test"     '使用不可文字
b(14) = ":Test"     '使用不可文字
b(15) = "*Test"     '使用不可文字
b(16) = "?Test"     '使用不可文字
b(17) = """Test"    '使用不可文字
b(18) = "<Test"     '使用不可文字
b(19) = ">Test"     '使用不可文字
b(20) = "|Test"     '使用不可文字

For i = 1 To 20
    If FolderMaking(a, b(i)) = True Then
        Debug.Print i & ":成功"
    Else
        Debug.Print i & ":失敗"
    End If
Next i

'1: 成功
'2: 失敗
'3: 失敗
'4: 失敗
'5: 失敗'ファイル名または番号が不正です。
'6: 失敗
'7: 失敗
'8: 失敗
'9: 失敗
'10: 失敗
'11: 失敗'ファイル名または番号が不正です。
'12: 失敗
'13: 失敗
'14: 失敗'ファイル名または番号が不正です。
'15: 失敗
'16: 失敗'パスが見つかりません。
'17: 失敗'パスが見つかりません。
'18: 失敗
'19: 失敗'パスが見つかりません。
'20: 失敗'ファイル名または番号が不正です。

End Sub

MkDir ステートメント

新しいフォルダを作成します。

  • 構文

  • MkDir path
  • 引数 path

    は必ず指定します。引数 path には、作成するフォルダ名を示す文字列式を指定します。ドライブ名も含めて指定できます。ドライブ名を省略したときは、現在のドライブに新しいフォルダが作成されます。

関連又は類似

  • ChDir ステートメント

  • 現在のフォルダを変更します。
  • CurDir 関数

  • 指定したドライブの現在のパスを表す値を返します。
  • RmDir ステートメント

  • 既存のフォルダを削除するステートメントです。
  • Kill ステートメント

  • ディスクからファイルを削除します。





Production Japan Import Application. Since 1998