Afsluiten met het kruisje deactiveren (VBA)

Geplaatst in VBA door Exhelp | Tags: , , , , ,
Van toepassing op: Excel 2003, Excel 2007, Excel 2010, Excel 2013

20140701_noexit

Het is perfect mogelijk om de werking van ‘het kruisje’ om Excel af te sluiten te be├»nvloeden met VBA.

Plaats volgende code in ‘ThisWorkbook’ via de VBA editor.

Public Sub Workbook_BeforeClose(Cancel As Boolean)

   MsgBox "Afsluiten gaat niet met het kruisje" & _
    vbNewLine & "Neem eens een kijkje op http://www.exhelp.be"
   Cancel = True

End Sub

Als je nu op het kruisje drukt, krijg je deze melding:

20140108_msgbox_close

Tenzij je de macro gebouwd hebt om je collega beet te nemen, zorg je best ook voor een manier waarop men het bestand w├ęl correct kan afsluiten. Dat kan bijvoorbeeld als volgt.

Maak via de VBA editor een nieuwe module, en plaats hierin deze code:

Public b_close As Integer

Public Sub s_close()
b_close = 1
Application.Quit
End Sub

Klik in het link op ‘Ontwikkelaars’, en kies bij ‘Invoegen’ voor een knop (bij de Formulierbesturingselementen).

20140108_commandbutton

Plaats de knop in je blad, en koppel deze aan de net gemaakte macro.

20140108_macro

Pas de code in ‘ThisWorkbook’ aan als volgt:

Public Sub Workbook_BeforeClose(Cancel As Boolean)

If Not b_close = 1 Then

   MsgBox "Afsluiten gaat niet met het kruisje" & _
    vbNewLine & "Neem eens een kijkje op http://www.exhelp.be"
   Cancel = True

End If

b_close = 0

End Sub

Je kan nu Excel sluiten met een druk op de knop.

20140108_knop

 

1 reactie op “Afsluiten met het kruisje deactiveren (VBA)”

  • Dit werk niet meer in Excel 2016 terwijl het in Excel 2010 wel goed werk
    wat moet ik doen om het in Excel 2016ook goed werkend te krijgen

Plaats een reactie

U moet ingelogd zijn om te reageren.

Login

Forums

Exhelp

Meest recente berichten

TAGS



Creative Commons Licentie
Op dit werk is een Creative
Commons Licentie
van toepassing.