Amigos leitores, sejam bem vindos mais uma vez ao meu blog.
Quantas e quantas vezes perdemos tudo o que estávamos fazendo por conta de uma queda de energia ou bugs no computador. Isso é uma coisa realmente muito chata – pra não dizer algo pior, que, por sinal, é o que certamente exclamamos nestes momentos!!!
Em meus estudos, descobri um código muito interessante para programarmos osalvamento automático real, com uma certa frequência a ser definida por nós mesmos. Diferentemente do autosalvamento do excel, esta macro salva o próprio arquivo de modo real, como se nós mesmos o tivéssemos feito clicando no botão “Salvar”.
O fundamento desta macro é salvar o arquivo a cada X minutos caso o arquivo tenha sofrido modificações e ainda não tenha sido salvo. Esta macro é iniciada ao abrirmos o arquivo, no evento Workbook_Open da pasta de trabalho. Vou mostrar como criá-la.
Abra o Projeto do VBA (Alt+F11) e insira um módulo digitando o seguinte código:
Public RunWhen As Double
Public Const cRunIntervalSeconds = 600 '10 minutos
Public Const cRunWhat = "SalvamentoProgramado" 'nome do procedimento a ser executado
Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, _
Schedule:=True
End Sub
Sub SalvamentoProgramado()
If Application.ThisWorkbook.Saved = False Then
Application.ThisWorkbook.Save
End If
StartTimer ' Reschedule the procedure
End Sub
Sub StopTimer()
On Error Resume Next
Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, _
Schedule:=False
End Sub
A constante cRunIntervalSeconds define o tempo, em segundos, para o Cronômetro executar.
O procedimento StartTimer inicia o cronômetro da programação do salvamento. Na sub SalvamentoProgramado é verificado se houve alterações no arquivo e se ele está salvo, então, ele salvará as modificações no arquivo. StopTimer encerrará a programação da macro. Poderá ser chamada no menu macros mesmo, ou então criar um atalho para ela.
Agora, abra o código da pasta de trabalho, dando um duplo clique em EstaPasta_de_trabalho e digite o código:
Private Sub Workbook_Open()
Call StartTimer
End Sub
Prontinho. Salve o arquivo. Feche. E abra novamente. A partir de então ele salvará suas alterações no intervalo de tempo estipulado. E adeus aos trabalhos perdidos.
Um abraço.
Você também gostará de ler:




Imprimir



Parabéns , ficou certinho e estou muito satisfeito.
Valeu.
Ai, muito obrigado pela dica deste site me ajudou muito em meus projetos.