2016-12-30 3 views
0

"현재 날짜"폴더에 파일을 복사하는 코드를 작성했습니다. 그래서, 파일 경로 CopyData "E:\From\", "D:\To\ & Format(Date, 'dd-mm-yyyy')& '\'"에서 날짜를 사용하고 싶습니다. 어떻게 가능합니까?경로에서 날짜 형식을 사용하여 파일을 복사하는 방법

내 코드는 다음과 같습니다 :

CopyData "E:\From\", "D:\To\ & Format(Date, 'dd-mm-yyyy')& '\'" 

CopyData에 두 개의 매개 변수를 전달하고

Public Sub PerformCopy() 
    MkDir "D:\To\" & Format(Date, "dd-mm-yyyy") 
    CopyData "E:\From\", "D:\To\ & Format(Date, 'dd-mm-yyyy')& '\'" 
End Sub 

Public Sub CopyData(ByVal FromPath As String, ByVal ToPath As String) 
Dim FSO As Object 
Dim Fdate As Date 
Dim FileInFromFolder As Object 
Dim FolderInFromFolder As Object 
    Set FSO = CreateObject("scripting.filesystemobject") 
    'First loop through files 
    For Each FileInFromFolder In FSO.getfolder(FromPath).Files 
     Fdate = Int(FileInFromFolder.DateLastModified) 

    If Fdate >= Date - 3 Then 
     FileInFromFolder.Copy ToPath 
    End If 

    'Next loop throug folders 
    For Each FolderInFromFolder In FSO.getfolder(FromPath).SubFolders 
     CopyData FolderInFromFolder.Path, ToPath 
    Next FolderInFromFolder 
    Next 
End Sub 
+0

폴더 구조에 대해 더 자세히 알 수 있습니까? 귀하의 예제에 따라'E : \ From \'에 모든 파일이 하나의 디렉토리에 있거나 어쩌면이 폴더에 하위 폴더가 있습니까? 'D : \ To \'에 오늘의 데이터로 이름 붙여진 하위 폴더에 모든 것을 넣고 싶습니까? – Limak

+0

폴더'E : \ From \'에는 하위 폴더가 있으므로 모든 하위 폴더의 파일을'D : \ To \'폴더에 복사하고 싶습니다. – Adnan

+0

이 게시물의 접근 방법이 효과가 있는지 확인하십시오. http://stackoverflow.com/questions/41345805/run-excel-macro-recursive-on-all-directories-inside-of-a-folder-and-so-so- on/41346575 # 41346575 – Limak

답변

1

귀하의 코드입니다. 첫 번째 매개 변수는 E:\From\이고 두 번째 매개 변수는 D:\To\ & Format(Date, 'dd-mm-yyyy')& '\'입니다. 당신이 그 코드는 다음

CopyData "E:\From\", "D:\To\" & Format(Date, "dd-mm-yyyy") & "\" 

E:\From\ 될 것입니다 전달 된 매개 변수와로 변경하는 경우

내가 당신이 원하는 무엇을 믿는이다 D:\To\31-12-2016\, (오늘 가정 2016 년 12 월 31 일).

+0

고마워요! 이것은 나를 위해 작동합니다. – Adnan