Afsluit-kruisje uitschakelen

Status
Niet open voor verdere reacties.

gst

Gebruiker
Lid geworden
5 jan 2010
Berichten
121
Besturingssysteem
64-bits besturingssysteem, x64-processor
Office versie
Microsoft Office LTSC Professional Plus 2021
Geacht forum,

Bij een bepaalde toepassing wil ik graag het kruisje (rechts boven), om excel af te sluiten, uitschakelen zodat met gedwongen wordt om een knop te gebruiken voor het afsluiten.
Dit gaat de eerste keer bij het drukken op het kruisje goed. Wanneer vervolgens nog een keer op het kruisje gekozen wordt gaat het alsnog niet goed en komt de vraag of het bestand opgeslagen moet worden.
Via google heb ik een voorbeeld gevonden waarbij het 1x goed gaat maar bij een tweede druk op het kruisje als nog verkeerd gaat (zij bijlage).
Weet iemand een oplossing waarbij het altijd goed gaat?
 

Bijlagen

  • Test_AfsluitenKruisje.xlsm
    12,6 KB · Weergaven: 131
waarom laat je dan niet gewoon de code van de knop uitvoeren ?
 
Dan komt daarna nog steeds de vraag of het bestand wel of niet opgeslagen mag worden.
Deze melding (wel / niet opslaan / annuleren) moet juist niet in beeld komen.
 
Omdat men dat kan kiezen voor niet opslaan, wat juist wel moet gebeuren bij sluiten van het programma
 
En waarom zou je dat willen?
Omdat men dat kan kiezen voor niet opslaan, wat juist wel moet gebeuren bij sluiten van het programma
Als er iemand een serieuze "kemel"(vloams) schiet kan hij niet meer terug door het bestandje te sluiten zonder opslaan, en terug te openen en dan is alles foetsie.
 
Maak gebruik van de 'before_close()'
 
Ik zie geen knop in je voorbeeld document. Dit voorbeeld document kan je alleen sluiten via de knop op het werkblad:
Bekijk bijlage SluitViaKnop.xlsm

Overigens is het opslaan van een document een andere gebeurtenis (Event) dan het sluiten er van.
Plaats dus je eigen relevante voorbeeld document.
 
Laatst bewerkt:
Edmoor,

Je hebt gelijk ik heb geen knop toegevoegd om het bestand te kunnen sluiten (sorry een beetje slordig). Wat je wel kunt doen in zo'n geval even ontwerpmodus inschakelen.
Ik ben erachter gekomen dat het wel werkt bij office 2010 (thuis geprobeerd) maar bij office 2016 (wat sinds kort op mijn werk gebruikt wordt) het niet werkt.
Wanneer bij office 2016 voor de tweede keer op het kruisje geklikt wordt komt toch de vraag of je wilt opslaan.
 
Zoals ik al zei, het opslaan van een document is een andere gebeurtenis dan het sluiten ervan.
Dat zal je dan ook moeten controleren en beslissen of een document dan wel of niet opgeslagen moet worden.
Dat heeft niets met de Office versie te maken.

Die controle kan in dezelfde procedure worden ingebouwd.
Als het document altijd moet worden opgeslagen doe je achter die knop tevens ActiveWorkbook.Save
 
Laatst bewerkt:
Geen knoppen en/of uitschakelen van het kruisje nodig als het bestand tenminste een keer ergens is opgeslagen.

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 thisworkbook.save
End Sub
 
Begrijp helaas je antwoord niet.

Werkt de door mij aangereikte code of zit je nog met het kruisje probleem.
 
Het volgende gevonden item over het 'kruisje probleem' lijkt er volgens mij ook op.

Dat kruisje is geen enkel probleem zoals al 2x is getoond.
 
Harry,

De door jou aangereikte code werkt en heb ik toegepast.

Het kruisje probleem blijft (volgens mij tenminste (Edmoor) of ik begrijp het niet helemaal, sorry).
Wanneer ik, zoals in de bijlage toegevoegd voorbeeld de eerste keer op het kruisje klik komt de melding van de Msgbox.
Bij de tweede klik op het kruisje wordt het bestand afgesloten zonder melding. En dat vindt ik vreemd.
Vandaar dat ik een test uitgevoerd heb met Office 2010, waar het wel werkt, en op office 2016, waar het dus niet werkt.
Het enige wat ik eigenlijk wil is dat het kruisje non-actief gezet wordt.

Ik laat het maar bij de oplossing als door jou aangedragen (tenzij iemand nog een suggestie heeft).
Allen hartelijk dank!
 
Dat kan zoals ik in m'n eerste reactie, dan laat je toch gewoon die msgbox weg?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan