Ir ao conteúdo
  • Cadastre-se

Excel Salvar cópia do arquivo atual


Ir à solução Resolvido por Patropi,

Posts recomendados

Boa tarde a todos,

Em minha planilha coloquei um botão de comando e atribui a macro abaixo:

 Sub SalvarCopiaComo()

 Dim sExtensao As String

 Dim sNomeSalvarComo As String

       sExtensao = Mid(ThisWorkbook.FullName, (InStrRev(StringCheck:=ThisWorkbook.FullName, StringMatch:=".", Compare:=vbTextCompare)))

       sNomeSalvarComo = Left(ThisWorkbook.FullName, (InStrRev(StringCheck:=ThisWorkbook.FullName, StringMatch:=".", Compare:=vbTextCompare) - 1)) _

                       & " " & Format(Date, "dd-mm-yyyy") & sExtensao

        ThisWorkbook.SaveCopyAs sNomeSalvarComo

 End Sub

Como aproveitar esse código em um módulo para que a cada 5 minutos seja salva uma cópia desta forma: Bkp_nomedoarquivo_data"(dd-mm-yy)"_hora"(hhmm)", e que o código busque se há uma pasta no mesmo local do arquivo original com nome BACKUP, caso não tenha crie a pasta e nela a cópia do arquivo como mencionado.
Para o tempo de salvamento encontrei este código:

 Public dTime As Date

 Sub Cronometro()

 On Error Resume Next

 dTime = Now + TimeValue("00:05:00")

 Application.OnTime dTime, "Cronometro"

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...
  • Membro VIP

Boa tarde @Max Carvalho

 

Para tentar ajudar:

 

1. Você deseja ~~~> "seja salva uma cópia desta forma: Bkp_nomedoarquivo_data"(dd-mm-yy)"_hora"(hhmm)"
    como no teu código já existe ~~~> StringMatch:=".", Compare:=vbTextCompare) - 1)) _ 
                       & " " & Format(Date, "dd-mm-yyyy") & sExtensao

    bastaria acrescentar a hora ~~~>  Format(Date, "dd-mm-yyyy hh:mm:ss") 

 

2. Você deseja ~~~> "para que a cada 5 minutos seja salva uma cópia ..." 

    para isso você já encontrou um código que está no teu post.

    Além disso,  na Internet tem muitos outros códigos, como este do link abaixo:

https://www.exceldoseujeito.com.br/macro-que-salva-automaticamente-as-alteracoes-de-sua-planilha/

 

3. Você deseja ~~~> "que o código busque se há uma pasta no mesmo local do arquivo original com nome BACKUP, caso não tenha, crie a pasta e nela a cópia do arquivo como mencionado."

 Você pode criar manualmente, uma única vez, uma pasta com nome BACKUP, pois não faz sentido o código a  cada 5 min verificar se uma tal pasta existe.

 

A maioria do pessoal nem tenta ajudar, porque é muito trabalhoso testar.

 

[]s

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
  • Solução

Bom dia @Max Carvalho

 

Tem uma correção, pois a função Date não devolve a hora, só a data, portanto, é preciso colocar a função Now no lugar:

 

alterar de ~~~> Format(Date, "dd-mm-yyyy hh:mm:ss") para ~~~> Format(Now, "dd-mm-yyyy hh:mm:ss") 

 

[]s

 

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...