Wie unterscheide ich...
08.12.2018 17:33:01
Oberschlumpf
Hallo Leute,
mein Code...
Mldg = MsgBox("Sollen Ihre Änderungen an '" & ActiveWorkbook.Name & "' gespeichert werden?", _
vbYesNoCancel + vbQuestion, "Microsoft Excel")
Select Case Mldg
Case 6
'mach alles, was vor dem Speichern+Schließen der Datei angepasst werden muss
pboTest = True
ThisWorkbook.Save
Case 7
pboTest = True
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
ThisWorkbook.Close False
Case 2
pboCancel = True
End Select
...fragt beim Schließen der Datei oder auch beim Beenden von Excel, ob die Datei gespeichert werden soll?
Klick ich auf den Ja-Button (Case 6), werden notwendige Veränderungen vorgenommen, nur die Datei wird gespeichert + geschlossen
Klick ich auf den Abbrechen-Button (Case 2), wird nichts gespeichert, die Datei wird auch nicht geschlossen, ich kann weiter in der Datei arbeiten.
Klick ich auf den Nein-Button (Case 7), wird nichts gespeichert + nur die Datei wird geschlossen.
Ich weiß, dass zum Beenden von Excel der Code Application.Quit notwendig ist aber noch fehlt.
Das liegt daran, weil ich nicht weiß, wie ich mit VBA unterscheide, ob in Excel nur die Datei geschlossen wurde (hier kein Application.Quit!), oder ob tatsächlich vor der Speichern-Frage oben rechts das X angeklickt wurde, damit Excel beendet wird.
Bei der Select-Case-Abfrage erhält die Variable Mldg immer 6 (Speichern JA) oder immer 7 (Speichern NEIN), egal ob ich nur die Datei schließe oder Excel beende.
Wie finde ich mit VBA heraus, ob Excel beendet werden soll?
Vielen Dank für eure Hilfe.
Ciao
Thorsten