• 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

Status
Niet open voor verdere reacties.

alfa911

Gebruiker
Lid geworden
11 apr 2013
Berichten
134
Hallo, is het mogelijk om een excel bestand in excel 2010 wat de hele dag gebruikt wordt om de 5 minuten automatisch op te laten slaan, zodat andere gebruikers ook een recente versie hebben om informatie in te zien.
Dus niet de autoherstel functie


Gr. Tim
 
Je kunt dat afdwingen met de OnTime event. Deze kun je starten vanuit je workbook_open event

Code:
Public dtmNextTime As Date
Private Sub Workbook_Open()
   dtmNextTime = now + TimeValue("00:05:00")
   Application.OnTime dtmNextTime, "AutoOpslag"
End Sub

Sub AutoOpslag()
   Activeworkbook.saveas("exttraopslag")
   dtmNextTime = now + TimeValue("00:05:00")
   Application.OnTime dtmNextTime, "AutoOpslag"
End Sub

Private Workbook_BeforeClose(Cancel As Boolean)
    Application.OnTime dtmNextTime, "MyProcedure", , False
End Sub
 
Hallo, dank u wel,
Geeft nog een foutmelding tijdens automatisch opslaan.
Private Workbook_BeforeClose(Cancel As Boolean) wordt rood ingekleurd.

Gr. Tim
 
Ergens is er bij het plakken het woordje "sub" weggevallen

Private sub Workbook_BeforeClose(Cancel As Boolean)

OPEN en CLOSE code moet je overigens natuurlijk in de "workbook" code sectie plaatsen.
In VBA selecteer in de mappen aan de linkerkant van je scherm het "workbook" item en dubbelclick daarop
 
@tfikse Je plaatst nu al twee keer alleen maar een quote als reactie op een reactie. Graag gewoon reageren.
 
Je moet natuurlijk ook nog een module "MyProcedure" hebben om een en ander op te slaan en af te sluiten .
 
He he, ik kan beter even helemaal opnieuw plakken anders loopt het voor geen meter. Blijkbaar de aanpassingen van het laatste stuk niet goed gegaan:

Code:
Public dtmNextTime As Date
Private Sub Workbook_Open()
   dtmNextTime = now + TimeValue("00:05:00")
   Application.OnTime dtmNextTime, "AutoOpslag"
End Sub

Sub AutoOpslag()
   Activeworkbook.saveas("exttraopslag")
   dtmNextTime = now + TimeValue("00:05:00")
   Application.OnTime dtmNextTime, "AutoOpslag"
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnTime dtmNextTime, "AutoOpslag", , False
End Sub

Nog steeds "Best effort" want heb nog steeds geen excel :)
 
Lukt mij nog steeds niet, ik zal een excel bestandje toevoegen.

Gr.Tim
 

Bijlagen

Laatst bewerkt:
Dat komt omdat sommige code verkeerd staat.
Onderstaande code hoort in ThisWorkbook.

Code:
Public dtmNextTime As Date
Private Sub Workbook_Open()
AutoOpslag
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime dtmNextTime, "AutoOpslag", , False
End Sub

---
De code die hieronder staat, hoor in een module.
Code:
Sub AutoOpslag()
   ActiveWorkbook.Save
   dtmNextTime = Now + TimeValue("00:05:00")
   Application.OnTime dtmNextTime, "AutoOpslag"
End Sub

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Hallo, bedankt. Slaat automatisch op, alleen als je het programma wilt afsluiten krijg je een foutmelding: Application.OnTime dtmNextTime, "AutoOpslag", , False

Wat gaat er fout?

Alvast bedankt
 
Voor ThisWorkbook volstaat

Code:
Public dtmNextTime As Date
Private Sub Workbook_Open()
AutoOpslag
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
AutoOpslag
End Sub

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan