HERBERS Excel-Forum - das Archiv
Excel stürzt ab beim Speichern - Nur Warum?
Jürgen

Moin Moin,
ich verzweifel langsam an einer eigentlich total banalen Aufgabe... Es gibt eine Arbeitsmappe mit 3 Tabellen, in denen gelegentlich Einträge geändert werden. Das ganze ohne Formeln oder so, also ganz billig.
Da diese Datei von Leuten bearbeitet wird, denen kein manuelles Verschieben von Dateien usw. zuzumuten ist, wollte ich ein paar Zeilen VBA einsetzen, daß beim Speichern oder Schließen der Excel-Datei automatisch eine HTML-Datei mit den Inhalt der Tabellen erzeugt, damit die "publizierte" Version einfach via Webbrowser angezeigt werden kann.
Also habe ich unter "DieseArbeitsmappe" folgende Code-Zeilen hinterlegt:
Private Sub MakeHTML()
Dim DateiName As String, PfadName As String, TempStr As String, Counter As Integer
DateiName = "\\3HN25902\CTTIMCP\IM Special\Aufgabenübersicht.htm"
PfadName = "\\3HN25902\CTTIMCP\IM Special\Aufgabenübersicht-Dateien"
On Error Resume Next
Application.AlertBeforeOverwriting = False
Application.DisplayAlerts = False
Counter = 0
TempStr = Dir(DateiName, vbNormal)
If TempStr <> "" Then
Kill DateiName
End If
TempStr = Dir(PfadName, vbDirectory)
If TempStr <> "" Then
TempStr = Dir(PfadName + "\*.*", vbNormal)
While TempStr <> "" And Counter < 256
Kill PfadName + "\" + TempStr
TempStr = Dir(PfadName + "\*.*", vbNormal)
Counter = Counter + 1
Wend
RmDir PfadName
End If
ThisWorkbook.SaveAs Filename:=DateiName, FileFormat:=xlHtml, ReadOnlyRecommended:=False,  _
CreateBackup:=False
Application.AlertBeforeOverwriting = True
Application.DisplayAlerts = True
On Error GoTo 0
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Cancel = False Then
MakeHTML
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Cancel = False And SaveAsUI = False Then
MakeHTML
End If
End Sub

Die Geschichte mit Counter dient nur zum Abfangen von Endlosschleifen, weil evtl. irgendein Dussel eine Datei gelockt hat. Im Normalfall läuft MakeHTML problemlos durch. Beende ich Excel, gibt es keinen Absturz. Wähle ich jedoch "Speichern" im Dateimenü, so kommt es zum Absturz, Excel beendet sich dann.
Das 2. Problem ist auch, daß der Befehl "ThisWorkbook.SaveAs ..." damit auch den "Lageort" der eigentlichen Excel-Datei verändert, d.h. alle gemachten Änderungen sind nicht mehr in der ursprünglichen XLS-Datei... auch nicht schön.
Wie kann ich diese Probleme umgehen? Mit "ObjectsPublish" kann ich immer nur ein Sheet zur Zeit abspeichern und bekomme auch nicht so eine tolle Reiter-Wahl unterhalb der dargestellten Browserfensters.
Jede Hilfe ist willkommen.
Danke & Gruß, Jürgen

AW: Excel stürzt ab beim Speichern - Nur Warum?
Martin

Hallo Jürgen,
auch wenn sich mein Tipp unglaubwürdig anhören mag, so empfehle ich Dir alle Updates & ServicePacks von Excel 2002 zu installieren. Auch ich hatte mal das Problem, dass Excel bei meinem VBA-Code (immer an der gleichen Stelle) abgestürzt, obwohl unter Excel 2003 alles problemlos lief. Nach Installation aller Updates bzw. ServicePacks war das Problem behoben!
Viele Grüße
Martin
AW: Excel stürzt ab beim Speichern - Nur Warum?
F1

.AlertBeforeOverwriting gibt es in der von dir verwendeten Excelversion nicht
Ziehe zurück! oT
F1

oT