Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
752to756
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
752to756
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Application.DisplayAlerts

Application.DisplayAlerts
17.04.2006 01:00:42
Jonathan
Hey,
ich möchte, dass beim Beenden nicht gefragt wird, ob gespeichert werden soll. Wenn ich dies nun mit Application.DisplayAlerts ausstelle, wird dies nur für die Mappe gespeichert, oder auch für alle nachfolgenden in Excel geöffnete Dateien?
Ich danke Euch!

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
oder besser
17.04.2006 01:17:46
Jonathan
Hey,
ich möchte die Frage noch einmal anders formulieren:
Das Beenden von Excel (oder der geöffneten Datei) soll nur über einen dafür vorgesehenen Butto erfolgen können.
Wird Excel damit beendet, soll keine speicher - Abfrage oder ähnliches auftauchen.
Wie kann ich das bewerkstelligen?
Danke!
Jonathan
AW: oder besser
17.04.2006 01:23:07
PeterW
Hallo Jonathan,
auch nicht viel besser gefragt. ;-) Geht es um Excel oder um die Mappe? Versuch es mal im Code des Buttons mit ThisWorkbook.Saved = True
Gruß
Peter
AW: oder besser
17.04.2006 01:27:18
Jonathan
Hey,
ich habe alle Symbolleisten der Datei ausgeblendet, wenn also könnte die Datei nur über das "X" von Excel geschlossen werden, worauf auch alle anderen geschlossen werden.
Und genau dies möchte ich verhindern. Solange die Datei aktivv ist, soll Excel nicht über den "normalen Weg" geschlossen werden können.
Das Beenden über den Button setzt kein Speichern voraus. Es erschint auch eine Abfrage.
Anzeige
AW: oder besser
17.04.2006 01:53:17
PeterW
Hallo Jonathan,
was soll passieren, wenn die Mappe zwar geöffnet aber gerade eine andere Mappe aktiv ist?
Gruß
Peter
Aus grundsätzlichen Erwägungen, dem User nicht das ihm bekannte Excel anzubieten bin ich aus diesem Thread raus; deswegen noch offen
AW: oder besser
17.04.2006 02:13:45
Jonathan
Hey,
Du hast generell Recht, hierbei handelt es sich baer mittlerweile um ein Programm, welches nur noch uaf der Excel Oberfläche basiert. Andere als die vorgegebenen Funktionen sollen nicht genutzt werden können!
Die Überlegung ist richtig. Wie gehe ich daran?
Hintergrund:
Da die Symbolleisten ausgeblendet sind, werden diese natürlich vor dem schließen wieder eingeblendet. Erscheint dann die Frage, ob gespeichert werden soll, der User auf abbrechen klickt, bleiben die Symbolleisten (die originalen) erhalten. das darf nicht sein.
Jonathan
Anzeige
An Tasso
17.04.2006 10:05:57
Nepumuk
Hallo Tasso,
ist es deiner Meinung nach notwendig, wegen dieser paar Zeilen eine Mappe mit drei! leeren Tabellen hoch zu laden und damit den Server zuzumüllen? Auch die Bitte nach einer Beispielmappe bei eindeutiger Frage halte ich für unnötig. In anderen Foren ist es nicht möglich etwas hoch zu laden, aber die gestellten Fragen können auch dort immer beantwortet werden. Versteh mich bitte nicht falsch, du bist wie alle anderen auch hier gerne gesehen, aber bitte ein bisschen vernünftiger mit den nicht unbegrenzt vorhandenen Ressourcen umgehen.
Hast du kein Programm zum Einrücken von Codezeilen um Makros zu strukturieren? So eines wird dir hier zum Download angeboten: https://www.herber.de/download.html du findest es unter vbeplus.zip und macht aus deinem, an den linken Rand geklebten Makros mit zwei klicks so etwas:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If Not ThisWorkbook.Saved Then
        Select Case MsgBox("Änderungen speichern?", vbYesNoCancel + vbExclamation, "Abfrage")
            Case Is = vbYes
                ThisWorkbook.Save
            Case vbCancel
                Cancel = True
                Exit Sub
        End Select
    End If
    Call restoreIt
    ThisWorkbook.Saved = True
    If Workbooks.Count = 1 Then Application.Quit Else ThisWorkbook.Close
End Sub

Private Sub restoreIt()
    With Application
        .CommandBars(1).Enabled = True
        .DisplayFormulaBar = True
        .DisplayStatusBar = True
        .CommandBars("Standard").Enabled = True
        .CommandBars("Formatting").Enabled = True 'usw
    End With
End Sub

Gruß
Nepumuk

Anzeige
AW: An Tasso
17.04.2006 12:08:13
Tassos
Hallo Nepumuk,
Danke für deine Hinweise, Danke dass Du die logischen Fehler in meinem Code korrigiert hast!
Normalerweise Meine Codes - wie man nachvollziehen kann - die ich in diesem Forum gepostet habe sind "kurz und bündig",
nur der bestimmte nicht da es schon zu spät für mich war (03:44:54)
Ok, da solche "Dialoge" in so einen Forum nichts verloren haben, möchte ich jetzt aufhören und Dir einen Guten Tag wünschen.
mfg.
Tassos
hier meine Idee von gestern Nacht
17.04.2006 17:11:55
gestern
Hey Ihr beiden!
Danke für die Antworten!
Ich habe es jetzt wie folgt gelöst gehabt, könnt Ihr mir sagen, ob dies so richtig ist oder nur zufällig funktioniert?

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Cancel = True Then
Menü_Löschen    ' Menü löschen
SystemLeisten ' normale Symbolleisten wieder herstellen
Call prcReset ' Code zum Zurücksetzen des Icon ...
End If
End Sub

Jetzt werden hierbei ja noch die Exceleigenen Meldungen angezeigt, aber nur die Symbolleisten entfernt, wenn die Datei wirklich geschlossen wird.
- Jonathan
Anzeige
AW: An Tasso
17.04.2006 17:37:46
Jonathan
Ich habe jetzt nochmal Eure Variante ausprobiert, aber die Änderungen werden hierbei nicht gepsiechert!
Woran liegt das?
AW: Code posten bitte
17.04.2006 18:51:02
Tassos
Hallo Jonathan,
Es wäre gut wenn Du Dein Code im Forum postest dass man richtig durchblicken kann.
Gruß!
Tassos
AW: Code posten bitte
17.04.2006 18:57:55
Jonathan
Sorry:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.Saved Then
iClick = MsgBox("Soll das Programm Ihre vorgenommenen Änderungen speichern?", 32 + 3, "speichern")
If iClick = vbYes Then
MsgBox "yes"
ThisWorkbook.Save
ElseIf iClick = vbCancel Then
Cancel = True
Exit Sub
End If
End If
' nur zu Testzwecken
Cancel = True
Exit Sub
Call Menü_Löschen    ' Menü löschen
Call SystemLeisten
Call prcReset
ThisWorkbook.Saved = True
If Workbooks.Count = 1 Then Application.Quit Else ThisWorkbook.Close
End Sub

Anzeige
AW: Code posten bitte
17.04.2006 20:09:58
Tassos
Hallo Jonathan!
Dein Code funktioniert, nur ich kann nicht verstehen dass Du mit den anderen Codes nicht zum Speichern gekommen bist; Prinzipiel die tun das gleiche!
Schöne Grüsse
Tassos
AW: Code posten bitte
17.04.2006 23:44:18
Jonathan
Hey,
auch mit meinem speichert er nicht!
Ich weiß nicht, warum!
Jonathan
AW: Code posten bitte
18.04.2006 07:38:08
Tassos
Hallo Jonathan,
wenn die Daten es erlauben konntest Du deine Mappe zipen und hochladen?
Gruß
Tassos
AW: Code posten bitte
19.04.2006 19:14:33
Jonathan
Hey Tassos.
vielen Dank für Dein Angebot.
Generell fände ich es sehr super, wenn jemand mal drüber gucken würde, zumal ich denke, dass einige Sachen falsch programmiert wurden.
Allerdings sind hier sehr sensible Daten hinterlegt.
Danke für Deine Hilfe!
Anzeige

78 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige