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 ObjectDim FromPath As StringDim ToPath As StringDim Fdate As DateDim FileInFromFolder As Object
FromPath = "C:\Bernardes\Data"
ToPath = "C:\Bernardes\Process"
If Right(FromPath, 1) <> "\" ThenFromPath = FromPath & "\"
End If
If Right(ToPath, 1) <> "\" ThenToPath = ToPath & "\"
End If
Set FSO = CreateObject("scripting.filesystemobject")
If FSO.FolderExists(FromPath) = False ThenMsgBox FromPath & " não existe"
Exit SubEnd If
If FSO.FolderExists(ToPath) = False ThenMsgBox ToPath & " doesn't exist"
Exit SubEnd If
For Each FileInFromFolder In FSO.getfolder(FromPath).FilesFdate = 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) ThenFileInFromFolder.Copy ToPathEnd IfNext FileInFromFolder
MsgBox "Você encontrará os seus arquivos daqui " & FromPath & ", aqui " & ToPathEnd Sub
Tags: VBA, Excel, folder, file, pasta, arquivo, copia, planilha, Por data,