Microsoft Excel

Herbers Excel/VBA-Archiv

Excel stürzt ab beim Speichern - Nur Warum? | Herbers Excel-Forum


Betrifft: Excel stürzt ab beim Speichern - Nur Warum? von: Jürgen
Geschrieben am: 11.11.2009 16:01:57

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

  

Betrifft: AW: Excel stürzt ab beim Speichern - Nur Warum? von: Martin Springer
Geschrieben am: 11.11.2009 16:11:22

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


  

Betrifft: AW: Excel stürzt ab beim Speichern - Nur Warum? von: F1
Geschrieben am: 11.11.2009 16:35:47

.AlertBeforeOverwriting gibt es in der von dir verwendeten Excelversion nicht


  

Betrifft: Ziehe zurück! oT von: F1
Geschrieben am: 11.11.2009 16:39:06

oT


Beiträge aus den Excel-Beispielen zum Thema "Excel stürzt ab beim Speichern - Nur Warum? "