Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
688to692
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

WorkBookBeforeClose

WorkBookBeforeClose
29.10.2005 23:02:18
Mister
Hallo Profis,
ich habe folgendes Problem. Wenn ich auf schliessen gehe (egal ob im Menü oder oben rechts auf X), werden die Eintragungen in "WorkBookBeforeClose" ausgeführt obwohl ich zur Sicherheit bestätigen muss das ich meine Datei wirklich schliessen will. Antworte ich mit "ja" ist alles OK. Antworte ich mit "Nein" ist WorkBookBeforeClose bereits ausgeführt und es gibt kein Zurück mehr!! Gibt es ein Weg WorkBookBeforeClose erst nach dieser Sicherheitsbetätigung ausführen zu lassen?
Danke

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: WorkBookBeforeClose
29.10.2005 23:08:28
Josef
Hallo ?
Z.B. so!
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If MsgBox("Wirklich Schliessen?", 292, "Frage") <> 6 Then Cancel = True
End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: WorkBookBeforeClose
30.10.2005 10:31:18
Matthias
Hallo B,
Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim aw aw = MsgBox("Sollen Ihre Änderungen in """ & ThisWorkbook.Name & """ gespeichert werden?" _ , vbExclamation + vbYesNoCancel) If aw = vbCancel Then Cancel = True Exit Sub End If If aw = vbNo Then ThisWorkbook.Saved = True 'hier der Code, der wirklich nur beim Schließen ausgeführt werden soll If aw = vbYes Then ThisWorkbook.Save End Sub
Gruß Matthias
AW: WorkBookBeforeClose
30.10.2005 10:48:23
Nepumuk
Hi Matthias,
das geht aber schon noch ein bisschen eleganter :-)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    With ThisWorkbook
        If Not .Saved Then
            Select Case MsgBox("Sollen Ihre Änderungen in ''" & .Name & "''" & _
                        " gespeichert werden?", vbYesNoCancel + vbQuestion, "Abfrage")
                Case vbCancel
                    Cancel = True
                    Exit Sub
                Case vbNo
                    .Saved = True
                Case vbYes
                    .Save
            End Select
        End If
    End With
    'hier der Code, der wirklich nur beim Schließen ausgeführt werden soll
End Sub

Gruß
Nepumuk

Anzeige
AW: WorkBookBeforeClose
30.10.2005 11:24:24
Matthias
Hallo Nepumuk,
Naja, aber wenn der "Code, der wirklich nur beim Schließen ausgeführt werden soll", noch Änderungen an der Mappe vornehmen soll...
Muss der Frage entscheiden.
Sag mal, was ist das für ein Programm, mit dem du den Code einstellst?
Gruß Matthias
AW: WorkBookBeforeClose
30.10.2005 11:40:18
Nepumuk
Hi Matthias,
dei Codedarstellung geschieht mit einer DLL von Peter Haserodt und ein Addin von mir. Ich markiere nur den Code und klick auf einen Commandbarbutton im VBA - Editor. Schon ist er formatiert in der Zwischenablage. Lässt auch ein bisschen spielen zu :-)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    With ThisWorkbook
        If Not .Saved Then
            Select Case MsgBox("Sollen Ihre Änderungen in ''" & .Name & "''" & _
                        " gespeichert werden?", vbYesNoCancel + vbQuestion, "Abfrage")
                Case vbCancel
                    Cancel = True
                    Exit Sub
                Case vbNo
                    .Saved = True
                Case vbYes
                    .Save
            End Select
        End If
    End With
    'hier der Code, der wirklich nur beim Schließen ausgeführt werden soll
End Sub

Gruß
Nepumuk

Anzeige
AW: WorkBookBeforeClose
30.10.2005 11:54:33
Matthias
Hallo Nepumuk,
und gibt's sowas in er Art auch als Freeware zum Download?
Ich weiß, ich könnte googlen, aber wenn du schon mal da bist...
Gruß Matthias
AW: WorkBookBeforeClose
30.10.2005 12:08:44
Nepumuk
Hi Matthias,
da kannst du lange googeln, das findest du nicht. Das Problem momentan ist einfach dieses. Peter verkauft immer noch die Excelcode - Jeanie. Die wird aber, von den allermeisten, nur für die Codedarstellung in Foren verwendet und nicht für die Verwaltung von Code, für die sie eigentlich vorgesehen ist. Das Umsetzen in HTML ist eigentlich ein Abfallprodukt. Wenn wir die DLL und das Addin verschenken, dann verärgern wir natürlich die, welche für die Excelcode - Jeanie bezahlt haben. Um die DLL und das Addin aber soweit zu schützen, das es nicht ohne weiteres kopiert werden kann, ist aber nochmal ein ziemlicher Aufwand notwendig (steckt jetzt schon ~ 1 Jahr Arbeit drin).
Hast du eine Lösung für das Dilemma?
Gruß
Nepumuk

Anzeige
AW: WorkBookBeforeClose
30.10.2005 12:28:54
Matthias
Hallo Nepumuk,
meine persönliche Lösung, die euch sicher nicht weiterhilft:
Private Sub ComboBox1_Change()
Dim arr As Variant
arr = Sheets(1).Range("b" & ComboBox1.ListIndex + 1 & ":k" & ComboBox1.ListIndex + 1)
ComboBox2.Column = arr
End Sub
;-)
Gruß Matthias
Anzeige
AW: WorkBookBeforeClose
30.10.2005 10:36:34
Mister
Hat leider nichts gebracht. Egal ob ich die Frage mit ja oder nein beantworte, WorkBookBeforeClose wird trotzdem ausgeführt!

85 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige