Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Excel Abstürze erkennen

Betrifft: Excel Abstürze erkennen von: Eddie Felson
Geschrieben am: 13.08.2008 12:51:11

Ich habe bei mir das Problem, dass durch viele geöffnete Programme, Excel zuweilen abstürzt und dann meine ganzen Zelleingaben weg sind. Den Save Knopf kann ich noch drücken, es passiert nur nichts mehr. Gibt es eine Möglichkeit, den Absturz vorher eindeutiger zu signalisieren (unwahrscheinlich, wenn abgestürzt), oder kann man eine Meldung ausgeben, wenn das speichern erfolgt ist? Dummerweise gibt es ja nur das before_save ereignis, aber kein after_save.

  

Betrifft: AW: Excel Abstürze erkennen von: fcs
Geschrieben am: 13.08.2008 17:35:40

Hallo Eddie,

da helfen nur präventive Massnahmen:
1. Automatisches speichern alle x Minuten in Excel aktivieren.

2. Exceldatei vor dem Verlassen von Excel immer speichern und nicht "wild" zwischen Anwendungen wechseln ohne die Arbeitsergebnisse zu sichern.

In Grenzen kann man zum Beispiel dem Datenverlust bei wichtigen Daten auch dadurch vorbeugen, dass man in einer Workbook_Deactivate-Ereignisprozedur die Arbeitsmappe bei jedem Verlassen/Wechseln speichert oder den Speicherstatus prüft und nach Rückfrage speichert.

Gruß
Franz


  

Betrifft: AW: Excel Abstürze erkennen von: Eddie Felson
Geschrieben am: 14.08.2008 14:29:10

Hallo fcs,
danke erstmal für die Info.
1. Automatisches Speichern ist in dem Fall ganz schlecht, da es sich um eine Art Simulationsumgebung handelt. Es ist irgendwann der Punkt ereicht, an dem die richtigen Werte für den Moment ermittelt sind, dann drückt man erst auf Save. Dann kommt z.B. eine eMail, „Bitte die Werte so und so berücksichtigen“, also rein ins Web, Aussage überprüfen und neu simulieren; fertig; speichern.

2. Das ist in dem speziellen Fall fast unmöglich zu vermeiden. Nicht mal ein zweiter Rechner würde helfen, weil auch per copy/paste Daten eingefügt werden sollen.

- Workbook_Deactivate-Ereignisprozedur - OK, ich schaue mir mal an, wann das genau ausgelößt wird und ob mich das der Lösung näher bringt.
- Wie kann ich den Speicherstatus prüfen?
Ein kleines Wortspiel, was ist mit Speicherstatus gemeint, geht es hier um den Zustand der Windows Resourcen/RAM? Das würde mich brennend interessieren, wie man diesen Speicherstatus ausließt. Ich denke aber Du meinst, abfragen ob gesaved wurde. Auch das wäre interessant. Ich könnte z.B. die Zeit messen, wie lange das abspeichern her ist und beim Workbook_Deactivate, wenn zu lange, dann zum Speichern auffordern.

Gruß Eddie


  

Betrifft: AW: Excel Abstürze erkennen von: fcs
Geschrieben am: 18.08.2008 10:23:02

Hallo Eddie,

die Deactivate-Ereignis-Prozedur ist nur innerhalb von Excel wirksam, also beim Wechsel in eine andere Excel-Arbeitsmappe.

Den Speicherstatus und das letzte Speicherdatum kann man wie folgt abfragen:

Private Sub Workbook_Deactivate()
  If ThisWorkbook.Saved = False Then
    If MsgBox("Die Datei " & ThisWorkbook.Name & " wurde zuletzt gespeichert am: " _
      & ThisWorkbook.BuiltinDocumentProperties("Last save time") & vbLf & vbLf _
      & "Datei jetzt speichern?", vbYesNo, "Speicher Rückfrage") = vbYes Then
      ThisWorkbook.Save
    End If
  End If
End Sub


Gruß
Franz


  

Betrifft: AW: Excel Abstürze erkennen von: Eddie Felson
Geschrieben am: 18.08.2008 18:28:45

Vielen Dank!


 

Beiträge aus den Excel-Beispielen zum Thema "Excel Abstürze erkennen"