Usuário com melhor resposta
Excluir Arquivos

Pergunta
-
Bom dia Pessoal,
Estou com o seguinte problema, tenho um código em minha planilha que gera backups toda vez que a planilha é aberta.
Este backup é salvo com o nome formatado da seguinte forma: BK_hh_dd_mm.xlsb
Já fiz uma pesquisa no fórum e encontrei este código para excluir arquivos da pasta:
1º Linha - Exclui todos arquivos do diretório 2º Linha - Exclui o diretório Code Snippet Kill "C:\Documents and Settings\Jardyson\Desktop\teste\*" RmDir "C:\Documents and Settings\Jardyson\Desktop\teste"
Minha dúvida é se é possível adaptar este código para excluir somente os backups anteriores a uma data X, por exemplo, se hoje é 16/05, eu que excluir todos os backups anteriores ao dia 10/05, mantendo assim, somente o backup dos últimos 5 dias.
Desde já, agradeço a ajuda. Obrigado
Att, Carlos
Respostas
-
Caso você queira excluir os arquivos de Backup anterior a hoje utiliza o algorítimo abaixo:
Sub ExcluirBackup() 'Usar referência à biblioteca Micrsoft Scripting Runtime 'Endereço onde está os arquivos de Backup Dim FolderBackup As String FolderBackup = "C:\Users\617018\Desktop\teste" Dim Fso As New FileSystemObject Dim Pasta As Folder Dim Arquivo As File Dim DtRef As Date Dim UltModif As Date 'Retorna a data atual DtRef = Date 'Verifica se existem arquivos dentro da pasta de backup 'E verifica qual o arquivo é menor do que a data If Fso.FolderExists(FolderBackup) Then Set Pasta = Fso.GetFolder(FolderBackup) For Each Arquivo In Pasta.Files 'Verifica a ultima data modificada do arquivo de backup If Arquivo.DateLastModified < DtRef Then Kill Arquivo.Path End If Next End If Set Fso = Nothing Set Pasta = Nothing Set Arquivo = Nothing End Sub
- Editado Pietro Farias - Analista X terça-feira, 16 de maio de 2017 14:46
- Marcado como Resposta Carlos H V Brito terça-feira, 16 de maio de 2017 16:51
Todas as Respostas
-
O nome BK_hh_dd_mm.xlsb não tem o valor do ano? Seria ideal colocar para poder fazer o check. Pois se a data atual for 05/01/2018 e o ultimo backup for 29/12/2017 será mais chato para criar o algorítimo. Seria possível o backup ficar com o nome BK_hh_dd_mm_aaaa.xlsb?
Outro detalhe, existe a possibilidade de o arquivo Backup for alterado posteriormente? Pois se não existir, não é necessário alterar o nome do Backup. É só levar em conta
- Editado Pietro Farias - Analista X terça-feira, 16 de maio de 2017 14:36
-
Caso você queira excluir os arquivos de Backup anterior a hoje utiliza o algorítimo abaixo:
Sub ExcluirBackup() 'Usar referência à biblioteca Micrsoft Scripting Runtime 'Endereço onde está os arquivos de Backup Dim FolderBackup As String FolderBackup = "C:\Users\617018\Desktop\teste" Dim Fso As New FileSystemObject Dim Pasta As Folder Dim Arquivo As File Dim DtRef As Date Dim UltModif As Date 'Retorna a data atual DtRef = Date 'Verifica se existem arquivos dentro da pasta de backup 'E verifica qual o arquivo é menor do que a data If Fso.FolderExists(FolderBackup) Then Set Pasta = Fso.GetFolder(FolderBackup) For Each Arquivo In Pasta.Files 'Verifica a ultima data modificada do arquivo de backup If Arquivo.DateLastModified < DtRef Then Kill Arquivo.Path End If Next End If Set Fso = Nothing Set Pasta = Nothing Set Arquivo = Nothing End Sub
- Editado Pietro Farias - Analista X terça-feira, 16 de maio de 2017 14:46
- Marcado como Resposta Carlos H V Brito terça-feira, 16 de maio de 2017 16:51
-
Boa tarde Pietro,
Existe a possibilidade de inserir o ano no mome do arquivo sim. Com relação as alterações, de fato o backup não sofre alteração alguma, entretanto, são planilhas utilizadas por muito usuários, que conseguem fazer milagres tipo corromper o arquivo sem razão aparente, por isso a necessidade de guardar o backup a cada abertura de planilha por pelo menos 2 ou três dias.
Att, Carlos
-
Caso você queira excluir os arquivos de Backup anterior a hoje utiliza o algorítimo abaixo:
Sub ExcluirBackup() ... End Sub
Obrigado Pietro, só vi o código depois de responder seu primeiro post, funcionou perfeitamente, a única alteração que fiz foi na linha:
DtRef = Date
que deixei:
DtRef = Date - 5
para manter os últimos 5 dias como eu queria.
- Editado Carlos H V Brito terça-feira, 16 de maio de 2017 16:54
-