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

Excel per Makro schliessen ohne Speicherung

Excel per Makro schliessen ohne Speicherung
25.10.2002 13:51:59
Chris
Hallo

Möchte Excel per Makro schliessen, jedoch die Datei nicht speichern und auch die Meldung nach der Speicherung nicht erhalten. Wenn jedoch zufällig noch eine andere Excel Datei geöffnet ist, die nichts mit der Datei zu tun hat, soll normal die Meldung kommen "Beenden/Speichern ja/nein".

Grundsätzlich geht das ja mit "Application.Quit".

Die Speichermeldung liesse sich vermutlich mit "Application.DisplayAlerts = False" umgehen. Habe aber gelesen, dass die Abschaltung der Bildschirmausgaben über die Laufzeit der Prozedur hinaus gültig ist, was ich auf keinen Fall will. Zudem bestünde wie gesagt auch das Problem, im Falle dass noch eine unabhängige Datei offen ist.

Um es noch genauer zu sagen. Habe 3 Exceldateien gleichzeitig offen. Das Makro wird aus Datei1.xls heraus gestartet.

Windows("Datei2.xls").Close False
Windows("Datei3.xls").Close False
Application.Quit

'Windows("Datei1.xls").Close False
Die letzte Zeile nützt natürlich nichts, da Excel ja bereits geschlossen ist.


Gibt es dafür eine Lösung?

Herzlichen Dank

Gruss
Chris

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Excel per Makro schliessen ohne Speicherung
25.10.2002 14:33:27
Dirk G
Versuch es mal mit Workbooks("Name.XLS").Close SaveChanges:=False
Re: Excel per Makro schliessen ohne Speicherung
25.10.2002 14:53:25
Hajo_Zi
Hallo Dirk

das Problem ist das der Befehl Application.Quit der danach steht nicht mehr ausgeführt wird.

Gruß Hajo

Re: Excel per Makro schliessen ohne Speicherung
25.10.2002 15:09:01
Nepumuk
Hallo Chris
gib bei allen drei Mappen in das Klassenmodul "DieseArbeitsmappe" folgenden Code ein:

und setzte den Befehl "Application.Quit" hinter den "Close" - Befehl der dritten Mappe.

Gruß
Nepumuk

noch jemand eine Idee?
25.10.2002 15:09:53
Chris
Hallo zusammen

Hajo trifft genau den Punkt. Wenn die Datei aus der der Schliessvorgang gestartet wird schon geschlossen ist, lässt sich anschliessend Excel nicht mehr schliessen, da ja dann das Makro bereits geschlossen ist.

Ziemlich verzwickt. Ich versuchs jetzt mal mit laut schreien!!!

Danke sowieso.
Gruss
Chris

Anzeige
Re: noch jemand eine Idee?
25.10.2002 15:20:27
Nepumuk
Hallo Chris
jetzt hab ichs noch nicht ganz verstanden.
Willst du Excel komplett beenden auch wenn eine vierte Mappe geöffnet ist? Dann kanst du den dritten "Close" - Befehl einfach weglassen.

Wenn nicht, dann hilft:

If Workbooks.Count = 1 Then Application.Quit Else ThisWorkbook.Close

Gruß
Nepumuk

Re: Excel per Makro schliessen ohne Speicherung
25.10.2002 15:29:31
Chris
Hallo Nepumuk

Hab mich schon gefreut, denn grundsätzlich funktioniert es.

Wenn aber wie beschrieben zufällig noch eine andere Excel Datei offen ist, kommt ein ziemlich böser Absturz:

The instruction at "0x3006ad15" reference memory at "0x0083f992". The memory could not be "read".

Click on OK to teterminate the application.
Click on CANCEL to debug the application.


Hmmm... vielleicht noch eine Idee oder hab ich gar was falsch gemacht?

Gruss
Chris

Anzeige
Re: noch jemand eine Idee ?
25.10.2002 15:33:10
Chris
Hallo Nepumuk

Glaube jetzt kommen wir der Sach näher. Versuchs jetzt mal mit dem Workbookcount.

Thanx
Chris

Re: Excel per Makro schliessen ohne Speicherung
25.10.2002 15:39:14
Martin Beck
Hallo Chris,

warum klapperst Du nicht in einer for-each-Schleife alle Workbooks ab, prüfst mit If, ob der Name Datei1, Datei2 oder Datei3 ist und verfährts in Abhängigkeit vom Ergebnis so wie Nepumuk es vorgeschlagen hast oder "behandelst" die versehentlich offene Datei.

Gruß
Martin Beck

aller aller letztes mal... sorry jungs
25.10.2002 16:02:24
Chris
Hallo

Bins nochmal... vielen Dank an alle die sich gemeldet haben. Ist/war wirklich eine Hilfe. Bin mir auch bewusst, dass ich langsam tüchtig nerve, aber noch ein einziges Problem.

Hab das jetzt so gemacht:

Windows("Datei2.xls").Close False
Windows("Datei3.xls").Close False

If Workbooks.Count = 1 Then
Application.Quit
Else
Windows("Datei1.xls").Close False
End If


Funktioniert alles wunderbar, nur möchte ich im Falle von Application.Quit Excel ohne die Frage nach Speichern ja/nein beenden. Wenn ich speichern wollte, könnte ich die Datei vorher speichern und dann Application.Quit, aber ich will eben nicht speichern.

Gruss
Chris



Anzeige
Re: aller aller letztes mal... sorry jungs
25.10.2002 16:09:18
ANdreas
Hallo Chris,

setze vor den Quit-Befehl einfach:
ActiveWorkbook.Saved = True

Hoffe das hilft weiter,
Andreas

perfect
25.10.2002 16:13:20
Chris
Hallo Andreas

Genau wie du gesagt hast. Alles OK jetzt.

Danke
Chris

143 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige