VBA Excel - Copie Arquivos a partir das suas Datas - Copy all files between certain dates

Inline image 7

Imagine poder automatizar a cópia de arquivos de uma pasta de acordo com a respectiva data da sua gravação.

Esse processo seria muito significativo no que diz respeito a backup dentro de um processo batch.

Também seria proveitoso dentro de um processo onde arquivos texto precisassem ser movidos temporariamente, dentro de um intervalo mensal ou semanal, para uma pasta onde seriam processados e posteriormente deletados.

O exemplo abaixo nos propicia tal liberdade, e nos dá a liberdade de adequá-lo melhor, dentro das nossas necessidades.

Sempre é preciso ter cautela, pois no caso do código abaixo, há a possibilidade de sobrepormos arquivos.

Sub CopyFilesInDates()
    Dim FSO As Object
    Dim FromPath As String
    Dim ToPath As String
    Dim Fdate As Date
    Dim FileInFromFolder As Object 

    FromPath = "C:\Bernardes\Data"  
    ToPath = "C:\Bernardes\Process"     

    If Right(FromPath, 1) <> "\" Then 
        FromPath = FromPath & "\" 
    End If 

    If Right(ToPath, 1) <> "\" Then 
        ToPath = ToPath & "\" 
    End If 

    Set FSO = CreateObject("scripting.filesystemobject") 

    If FSO.FolderExists(FromPath) = False Then
        MsgBox FromPath & " não existe"
        Exit Sub
    End If 

    If FSO.FolderExists(ToPath) = False Then
        MsgBox ToPath & " doesn't exist"
        Exit Sub
    End If 

    For Each FileInFromFolder In FSO.getfolder(FromPath).Files
        Fdate = Int(FileInFromFolder.DateLastModified)
        'Copy files from 1-Oct-2006 to 1-Nov-2006
        If Fdate >= DateSerial(2006, 10, 1) And Fdate <= DateSerial(2006, 11, 1) Then
            FileInFromFolder.Copy ToPath
        End If
    Next FileInFromFolder 
    MsgBox "Você encontrará os seus arquivos daqui " & FromPath & ", aqui " & ToPath

End Sub

Tags: VBA, Excel, folder, file, pasta, arquivo, copia, planilha, Por data, 






Nenhum comentário:

Postar um comentário

diHITT - Notícias