|
こんにちは
ファイルが無い場合も移動前フォルダを削除する場合はIF文の外に
「移動前フォルダを削除」するコードを出して下さい。
'移動後フォルダ、移動前フォルダが存在するもの
'且つ、移動前フォルダにファイルが入っているとき
If myFso.FolderExists(oFold) And _
myFso.FolderExists(nFold & "\" & mySuffix) And _
myFso.GetFolder(nFold & "\" & mySuffix) _
.Files.Count > 0 Then
j = 0
'移動後フォルダ内のサブフォルダを取得
Set Fold_C = myFso.GetFolder(oFold).SubFolders
'サブフォルダをループ
For Each Fold_L In Fold_C
'「mySuffix & "*"」に一致するものの連番の最大値
If Fold_L.Name Like mySuffix & "*" Then
If Val(Mid(Fold_L.Name, Len(mySuffix) + 1, _
Len(Fold_L.Name))) >= j Then
j = Val(Mid(Fold_L.Name, Len(mySuffix) + 1, _
Len(Fold_L.Name))) + 1
End If
End If
Next
'連番の最大値+1を付けてフォルダ作成
myFso.CreateFolder (oFold & "\" & mySuffix & j)
'移動前フォルダから作成したフォルダへファイル移動
myFso.MoveFile (nFold & "\" & mySuffix & "\*.*"), _
(oFold & "\" & mySuffix & j)
'移動前フォルダを削除
myFso.Deletefolder (nFold & "\" & mySuffix), Force:=True
End If
|
|