경로에서 모든 폴더와 해당 하위 폴더를 반복하는 솔루션을 만든 다음 조건에 따라 파일을 이동합니다.특정 폴더 목록 및 해당 하위 폴더를 반복합니다. VBA 매크로
Sub Move_Files_To_Folder()
Dim Fso As Object, objFolder As Object, objSubFolder As Object
Dim FromPath As String
Dim FileInFolder As Object
FromPath = "C:\Reports\"
Set Fso = CreateObject("Scripting.filesystemobject")
Set objFolder = Fso.GetFolder(FromPath)
For Each objSubFolder In objFolder.subfolders
For Each FileInFolder In objSubFolder.Files
If InStr(1, FileInFolder.name, ".xlsx") Or InStr(1, FileInFolder.name, ".zip") Then
FileInFolder.Move (objSubFolder.Path & "\2016\" & MonthName(Month(FileInFolder.DateCreated)) & "\")
End If
Next FileInFolder
Next objSubFolder
End Sub
잘 작동하지만 내 경로 및 모든 하위 폴더의 특정 폴더를 통해 매크로를 루프로 조정하고 싶습니다.
따라서 For Each objSubFolder In objFolder.subfolders
대신 루프를 통해 내 경로 아래 폴더 이름을 포함하는 배열 목록을 만들고 싶습니다. 요약 그래서이
FoldersName = Array("Shipment", "Backlog", "Released", "Unreleased")
For Each objSubFolder In objFolder.FoldersName
For Each FileInFolder In objSubFolder.Files
'rest of my code
Next FileInFolder
Next objSubFolder
같은
뭔가, 내 솔루션 내 길 아래에있는 모든 폴더와 하위 폴더를 통해 루프 난 내 경로 아래 폴더와 모든 하위 폴더의 목록에 조정하려는.
나는이 array
을 작성하여 For Each
에 추가하려고 시도했지만 매번 그 행에서 오류가 발생했습니다. 어떤 제안이라도 정확하게 쓰는 방법을 알려주세요. 고맙습니다.