指定したフォルダが無ければ全部作ってしまえば良い。
仕様変更が原因だったとしてもエラーにならなくなる!怒られてしまえ!
'フォルダが無ければ上階層から全部作る。 Function makeFolder(fullPath As String) As Boolean On Error GoTo err1 'fullPath = Replace(fullPath, "/", "\") Dim var: var = Split(fullPath, "\") Dim addPath As String: addPath = "" Dim folderName As String Dim i As Integer For i = LBound(var) To UBound(var) folderName = CStr(var(i)) If i = UBound(var) Or folderName = "" Then Exit For addPath = addPath & var(i) & "\" If Dir(addPath, vbDirectory) = "" Then MkDir addPath End If Next makeFolder = True Exit Function err1: Debug.Print addPath '作成失敗したフォルダ makeFolder = False End Function
フルパスの末尾はファイル名を想定してるので、配列の最後は何もしてません。
以上。