Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datei schließen ohne speichern-Abfrage

Forumthread: Datei schließen ohne speichern-Abfrage

Datei schließen ohne speichern-Abfrage
12.03.2009 10:38:06
Michael
Hallo Leute,
brauche mal wieder eure Hilfe:
Das folgede Makro öffnet Stundennachweis.xls, ohne Aktualisieren und soll dann gleich wieder geschlossen werden. Aber: ohne spiechern!
Der Ausdruck Save speichert hier. Wie lautet der Ausdruck für "ohne speichern"?
Danke im Voraus
Michael

Sub AuftragsNr_aktualisieren()
Workbooks.Open Filename:="F:\Stundennachweis\Stundenübersicht.xls", _
UpdateLinks:=0
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub


Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei schließen ohne speichern-Abfrage
12.03.2009 10:40:56
rene
Hallo Michael,
dann kommentiere diese Zeile ActiveWorkbook.Save einfach mit nem vorrangestellten ' (auf #Taste) aus oder lösche diese Zeile.
rene
AW: Datei schließen ohne speichern-Abfrage
12.03.2009 10:57:27
Michael
Hallo Rene,
das hab ich ja schon probiert. Dann muss aber der Mitarbeiter die frage zum Speichern ja/nein selbst beantworten. Dieses hat aber den Nachteil, dass der mitarbeiter bei "Abbrechen" Zugriff auf die Datei bekommt. Das ganze Prozedere sollte hier über einen Button zum aktualisieren der vergebenen Auftragsnummern ohne jede weitere Abfrage oder Eingabe möglich sein.
Eben nur:
- offnen ohne aktualisieren
- wieder schließen, aber automatisch, ohne speichern, also ganz im Hintergrund
Hast du da eine Lösung?
Anzeige
AW: Datei schließen ohne speichern-Abfrage
12.03.2009 11:12:58
rene
Hallo Michael,
die Abfrage wg. Speichern kommt m.E. von dem Workbook close. In der XL-Hilfe steht dazu:

In diesem Beispiel wird die Arbeitsmappe, die den Beispielcode enthält, geschlossen. Alle Ä _
nderungen werden verworfen, indem der Saved (Eigenschaft) der Wert True zugewiesen wird.
ThisWorkbook.Saved = True
ThisWorkbook.Close


rene

Anzeige
AW: Datei schließen ohne speichern-Abfrage
12.03.2009 11:32:43
robert
hi,
hier etwas aus der vba-hilfe
gruß
robert
Beispiel
In diesem Beispiel wird die Arbeitsmappe BOOK1.XLS geschlossen. Der Anwender wird nicht aufgefordert, Änderungen zu speichern, und diese werden auch nicht gespeichert.
Application.DisplayAlerts = False
Workbooks("BOOK1.XLS").Close
Application.DisplayAlerts = True
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Datei schließen ohne Speicherabfrage in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei zu schließen, ohne dass eine Speicherabfrage erscheint, kannst du folgende Schritte befolgen. Der Schlüssel liegt darin, die DisplayAlerts-Eigenschaft von Excel zu verwenden und die Saved-Eigenschaft des Workbooks zu setzen.

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (Alt + F11).

  2. Füge ein neues Modul hinzu (Rechtsklick auf 'VBAProject', dann 'Einfügen' > 'Modul').

  3. Kopiere und füge folgenden Code ein:

    Sub DateiSchliessenOhneSpeichern()
       Application.DisplayAlerts = False ' Deaktiviere Meldungen
       ThisWorkbook.Saved = True ' Setze den Saved-Wert auf True
       ThisWorkbook.Close ' Schließe die Arbeitsmappe
       Application.DisplayAlerts = True ' Aktiviere Meldungen wieder
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus.

Mit diesem Code wird die Excel-Datei geschlossen, ohne dass eine Nachfrage zum Speichern erscheint. Dies ist besonders nützlich, wenn du den Nutzer nicht mit Abfragen stören möchtest.


Häufige Fehler und Lösungen

  • Fehler: Abfrage zum Speichern erscheint trotzdem.

    • Lösung: Stelle sicher, dass du die ThisWorkbook.Saved = True Zeile vor dem Schließen der Arbeitsmappe verwendest. Dies signalisiert Excel, dass keine Änderungen vorhanden sind.
  • Fehler: Das Makro schließt die Datei nicht.

    • Lösung: Überprüfe, ob das Makro korrekt ausgeführt wird und keine anderen Fehler im Code vorhanden sind.

Alternative Methoden

Neben der oben beschriebenen Methode gibt es auch andere Ansätze, um eine Excel-Datei ohne Speicherabfrage zu schließen:

  1. Verwende Application.Quit, um Excel vollständig zu schließen. Dies funktioniert jedoch nur, wenn du alle offenen Dateien ohne Speichern schließen möchtest.

    Sub ExcelSchliessen()
       Application.DisplayAlerts = False
       Application.Quit
    End Sub
  2. Du kannst auch spezifisch eine Datei schließen, indem du den Namen der Datei angibst:

    Sub SpezifischeDateiSchliessen()
       Application.DisplayAlerts = False
       Workbooks("DeineDatei.xlsx").Close SaveChanges:=False
       Application.DisplayAlerts = True
    End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, die du nutzen kannst:

  1. Öffnen und Schließen einer Datei ohne Speichern:

    Sub OpenAndCloseWithoutSaving()
       Application.DisplayAlerts = False
       Dim wb As Workbook
       Set wb = Workbooks.Open("F:\Stundennachweis\Stundenübersicht.xls")
       wb.Close SaveChanges:=False
       Application.DisplayAlerts = True
    End Sub
  2. Batch-Prozess für mehrere Dateien:

    Sub BatchSchliessen()
       Dim wb As Workbook
       For Each wb In Workbooks
           If wb.Name <> ThisWorkbook.Name Then
               Application.DisplayAlerts = False
               wb.Close SaveChanges:=False
           End If
       Next wb
       Application.DisplayAlerts = True
    End Sub

Tipps für Profis

  • Nutze Error Handling: Um sicherzustellen, dass dein Code auch bei Fehlern sauber ausgeführt wird, kannst du Fehlerbehandlungsroutinen implementieren.

  • Vermeide globale Änderungen: Statt Application.DisplayAlerts global zu setzen, kann es sinnvoll sein, diese nur temporär für spezifische Abschnitte deines Codes zu deaktivieren.

  • Testen: Teste deinen Code in einer sicheren Umgebung, bevor du ihn in Echtzeit verwendest, um ungewollte Datenverluste zu vermeiden.


FAQ: Häufige Fragen

1. Frage Kann ich das DisplayAlerts auch für andere Anwendungen verwenden?

Antwort: Ja, DisplayAlerts kann auch in anderen Office-Anwendungen wie Word verwendet werden, um Meldungen zu unterdrücken.

2. Frage Was passiert, wenn ich Änderungen vor dem Schließen mache?

Antwort: Wenn du Änderungen machst und SaveChanges:=False verwendest, werden alle Änderungen verworfen, und die Datei wird ohne Speichern geschlossen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige