salve
per excel:
nel modulo ThisWorkbook per avviare la macro in automatico copia il codice che segue:
Private Sub Workbook_Open()
Call Inizia
End Sub
in un modulo standard il codice seguente:
Public Tempo
Sub Inizia()
Tempo = Now + TimeSerial(0, 0, 10)
Application.OnTime EarliestTime:=Tempo, Procedure:="Salva", _
Schedule:=True
End Sub
Sub salva()
ActiveWorkbook.Save
Inizia
End Sub
Sub Ferma()
On Error Resume Next
Application.OnTime EarliestTime:=Tempo, Procedure:="Salva", _
Schedule:=False
End Sub
Per Word:
nel modulo ThisDocument copia il seguente codice:
Private Sub Document_Open()
Application.Run MacroName:="Inizia"
End Sub
in un modulo standard il seguente codice:
Public Tempo
Sub Inizia()
Tempo = Now + TimeSerial(0, 0, 10)
Application.OnTime when:=Tempo, Name:="salva"
End Sub
Sub salva()
ActiveDocument.Save
Inizia
End Sub
Sub ferma()
Application.OnTime when:=Tempo, Name:=" "
End Sub
NB. l'intervallo del tempo è data da questa istruzione: Tempo = Now + TimeSerial(0, 0, 10)
che sta a significare che l'intervallo di esecuzione della macro è ogni 10 secondi (varia secondo le tue esigenze)
in entrambe le versioni, la macro Ferma() serve per stoppare il Timer
PS. sicuro di voler attive le macro per tutto il tempo di apertura del documento?
saluti
Giap