• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

automatisch opslaan op bepaald tijdstip

Status
Niet open voor verdere reacties.

ronald1986

Gebruiker
Lid geworden
2 apr 2010
Berichten
296
Goedemorgen,

Ik zou graag mijn excelbestand standaard elke dag om 6:00 op willen slaan via VBA. Het bestand is altijd geopend en kan gewoon onder dezelfde bestandsnaam worden opgeslagen. Nou heb ik onderstaande macro gevonden maar ik weet niet hoe ik dit aan kan passen naar het tijdstip 6:00. Weet iemand hoe ik dit kan doen? Of moet ik misschien een heel andere macro gebruiken? En waar moet ik deze code plaatsen? in een module of in het workbook?

Code:
Sub StartTimer() 
     
    RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds) 
    Application.OnTime earliesttime:=RunWhen, procedure:=Application.ActiveWorkbook.Save, _ 
    schedule:=True 
End Sub

Bvd!
 
Ronald,

Volgens moet je het hiermee al redden
Code:
Private Sub Workbook_Open()
    Application.OnTime TimeValue("06:00:00"), Application.ActiveWorkbook.Save
End Sub
 
ThisWorkbook...

Als het bestand geopend wordt en open blijft zal het bestand telkens om 6:00 opgeslagen worden. Als je hem afsluit en vervolgens weer opent gaat het weer in.
 
Probeer het eens zo

Dit gedeelte in ThisWorkbook
Code:
Private Sub Workbook_Open()
Application.OnTime TimeValue("18:00:00"), "Tijd"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime EarliestTime:=TimeValue("18:00:00"), Procedure:="Tijd", Schedule:=False
End Sub

Dit gedeelte in een module


Code:
Sub Tijd()
Workbooks("Wachten.xls").Save
End Sub

Wachten.xls aanpassen
 
Laatst bewerkt:
Nog een kleine aanvulling op mijn vraag:

Is het ook mogelijk om alle geopende workbooks op te slaan?

Bvd!
 
Maak een module met
Code:
Sub oplaan_openstaande_bestanden()
    For Each wb In Workbooks
        Application.Goto wb.Sheets(1).Cells(1)
        Application.ActiveWorkbook.Save
    Next wb
End Sub
en verander bovenstaande in ThisWorkbook
Code:
Private Sub Workbook_Open()
    Application.OnTime TimeValue("06:00:00"), "opslaan_openstaande_bestanden"
End Sub

Ongetest, maar volgens mij moet ie het wel doen ;)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan