• 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.

Geforceerd opslaan en afsluiten

Obrecht

Gebruiker
Lid geworden
9 jan 2025
Berichten
116
Omdat collega’s soms opmerkingen toevoegen en vergeten het bestand af te sluiten
raken we meetgegevens kwijt.
Nu heb ik een MACRO geschreven die na 15 minuten inactiviteit Excel opslaat en afsluit.
Dat werkt allemaal goed.

Als ik nu een bericht laat zien, 1 minuut voor afsluiten.
MsgBox "Dit blad wordt afgesloten om " & Format(DownTime, "HH:MM:SS")
Dan wordt het bestand niet opgeslagen en afgesloten.

Ik weet dat dit met "UserForm" kan maar dat wil ik niet gebruiken
omdat mijn andere macro's dan niet werken.

Hoe kan ik dit bestand toch geforceerd opslaan en afsluiten.
of na 1 minuut de MsgBox automatisch uitzetten en daarna opslaan afsluiten.

Alvast bedankt Jacob
 

Bijlagen

Gebruik een modeless userform:
Code:
frmWaarschuwing.Show vbModeless


Ik weet dat dit met "UserForm" kan maar dat wil ik niet gebruiken
omdat mijn andere macro's HP-VEE scripts etc. dan niet werken.
en bij modeless userform
Doordat de gebruiker vrij is om tussen het formulier en de werkmap te wisselen, kan dit tot onverwachte situaties leiden.
 
Met zoiets?
Code:
Public Sub ShowWarning()
    ' Toon een waarschuwing met de geplande afsluitingstijd
    If MsgBox("Dit blad wordt afgesloten om " & Format(DownTime, "HH:MM:SS"), vbInformation + vbOKCancel, "Waarschuwing") = vbOK Then
        ' Plan een verfrissende afsluiting 1 minuut na de waarschuwing
        Application.OnTime EarliestTime:=Now + TimeValue("00:01:00"), Procedure:="ShutDown", Schedule:=True
    End If
End Sub
 
Nee helaas edmoor
na het verstrijken van de tijd blijft MsgBox open en sluit Excel niet af.
 
Voeg een werkblad toe met daarop je melding en activeer dat werkblad 1 minuut voor het afsluiten.
P.S.
Eventueel een verborgen werkblad dat je zichtbaar maakt en activeert.
 
Laatst bewerkt:
Voeg een werkblad toe met daarop je melding en activeer dat werkblad 1 minuut voor het afsluiten.
P.S.
Eventueel een verborgen werkblad dat je zichtbaar maakt en activeert.

Het werkt maar mijn voorkeur heeft het niet.
Ik hoop op een slimme oplossing.
 
hahaha jij je zin
Het werkt maar mijn voorkeur heeft het niet.
Ik hoop op een nog slimmere oplossing
 
Zo wellicht?
Code:
Public Sub ShowWarning()
    CreateObject("WScript.Shell").Popup "Dit blad wordt afgesloten om " & Format(Now + TimeValue("00:01:00"), "HH:MM:SS"), 60, "Let op"
    ThisWorkbook.Save
    Application.Quit
End Sub
Het aantal seconden, die 60, is al jaren helaas niet helemaal accuraat, maar komt wel in de buurt.
 
Die Sub doet dat wel degelijk.
Application.Quit sluit gewoon Excel.
 
Zo wellicht?
Code:
Public Sub ShowWarning()
    CreateObject("WScript.Shell").Popup "Dit blad wordt afgesloten om " & Format(Now + TimeValue("00:01:00"), "HH:MM:SS"), 60, "Let op"
    ThisWorkbook.Save
    Application.Quit
End Sub
Het aantal seconden, die 60, is al jaren helaas niet helemaal accuraat, maar komt wel in de buurt.


Helaas ook deze sluit niet automatisch af.
 

Bijlagen

  • NEE.jpg
    NEE.jpg
    33,9 KB · Weergaven: 3
Wat ik al zei, het aantal seconden is niet echt accuraat.
Hier werkt het zonder enig probleem.
 
Hier wel.
Volledig uit zichzelf.
 
Die MsgBox staat los van de Office versie.
 
Deze sluit automatisch na tussen de 10 en 20 seconden:
 

Bijlagen

Het werkt wel, maar de popup is inderdaad niet heel erg betrouwbaar, ik heb wat metingen gedaan:
Code:
Public Sub ShowWarning()
    Start = Timer
    CreateObject("WScript.Shell").Popup "Dit blad wordt afgesloten om " & Format(Now + TimeValue("00:00:05"), "HH:MM:SS"), 5, "Let op"
    MsgBox "Verstreken tijd: " & Timer - Start
'    ThisWorkbook.Save
'    Application.Quit
End Sub
De verstreken tijd bij een instelling van 5 seconden varieerde tussen 6 en 51 seconden.
Zie ook https://stackoverflow.com/questions...x-popup-on-timer-expiration/31143673#31143673
 
Terug
Bovenaan Onderaan