Datei lässt sich mehr öffnen

Bild

Betrifft: Datei lässt sich mehr öffnen
von: Roger
Geschrieben am: 07.10.2003 14:30:20

Hi,
folgendes Problem:

Excel

Ok, ich werde es mal genauer beschreiben:
Entwickle an einem Tool mit VBA, dass sich Informationen aus einer DB holt und grafisch in selbst gebastelten Diagrammen darstellt. Bein Schliessen dieser Mappen fange ich das Ereignis BeforeSave und BeforeClose ab und lösche noch ein paar selbst gebastelte Objekte. Nach dem Schliessen dieser Mappen lassen sich die Dateien nicht mehr Öffnen Meldung "Kann Datei nicht lesen". Wenn ich diese Datei in eine Textdatei umwandele fehlen mir ca 30% gegenüber der Originaldatei. Wie kommt den sowas? Öffne ich die Mappe nur mit Excel, also nicht mit meinem Tool, habe ich nach dem Speichern keine Probleme. Mein Makro hat Momentan eine Größe von ca 6 MB, wer bietet mehr? ;-) Gibt es da eine Obergrenze, da ich in letzter Zeit immer mehr Probleme mit Dr. Watson bekomme. Der Code lässt sich einwandfrei kompilieren, und habe eigentlich überall Fehlerroutinen eingebaut und den Code mehrfach durchgesteppt, ohne besondere Vorkommnisse. Ich darf bloss nicht Speichern.

thx im Vorraus
Roger

Bild


Betrifft: AW: Datei lässt sich mehr öffnen
von: Jule
Geschrieben am: 07.10.2003 16:39:41

hört sich komplex an Roger...

kann dir leider nicht weiterhelfen!!
wollt nur mal antworten, weil wohl niemand rat wusste?! :o)

tschoe


Bild


Betrifft: OFFEN
von: ChrisL
Geschrieben am: 07.10.2003 16:52:54

Hi

Kann leider auch nicht helfen.

Wollte nur kurz den Hinweis an Jule geben, dass du hiermit den Beitrag aus der Liste der offenen Fragen bugsiert hast.

Gruss
Chris


Bild


Betrifft: AW: Datei lässt sich mehr öffnen
von: andre
Geschrieben am: 07.10.2003 19:17:30

hallo roger,
die größe ist nicht entscheiden - ausser es kommt eine entsprechende meldung.
wenn du die mappe kleiner willst und es liegt nicht an der datenmenge, dann ist es meist der "sorglose" umgang mit dem formatieren - so nach dem motto jede zelle bekommt was eigenes bzw wird einzeln formatiert, oder häufiges kopieren und einfügen - hier ist meist einfügen der werte ausreichend ...
wie tust du speichern? ganz "normal" mit workbook.save ... ? poste mal das speichermakro und das zum öffnen.
gruss andre


Bild


Betrifft: AW: Datei lässt sich nicht mehr öffnen
von: Roger
Geschrieben am: 08.10.2003 09:09:18

Hi,

die obige Sub wird über die Applikation angesteuert und ruft die untere Sub auf in der das Objekt der Auswertung aus einer Collection gelöscht wird. Mit 6 MB meinte ich allerdings nicht das Workbook, sondern das XLA. Die Mappen selbst haben öfter mal über 10 MB. Das Speichern erfolgt nicht über Code, sondern über das Excelmenue.

------------------------------------------------------------------------------------

Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
    Call MyXLA.DeleteAuswertung(Wb)
    Set Wb = Nothing
End Sub



Private Sub DeleteAuswertung(wbMappe As Workbook)
Dim objAuswertung As ClsAuswertung
Dim objLoeschItem As ClsAuswertung
Dim i As Integer
    
    On Error GoTo DeleteAuswertung_Err
    Set objAuswertung = GetAuswertung(wbMappe)
    
    If Not (objAuswertung Is Nothing) Then
        If Not(objAuswertung.Workbook Is Nothing) Then
            Set objLoeschItem = colPriAuswertungen.Item(objAuswertung.Workbook.Name)
            If Not (objLoeschItem Is Nothing) Then
                Call colPriAuswertungen.Remove(objAuswertung.Workbook.Name)
            Else
            For i = 1 To colPriAuswertungen.count
                Set objLoeschItem = colPriAuswertungen.Item(i)
                If Not (objLoeschItem Is Nothing) Then
                    If Not (objLoeschItem.Workbook Is Nothing) Then
                      ' ausdruecklich ueber den Namen suchen !!!
                      If objLoeschItem.Workbook.Name = objAuswertung.Workbook.Name Then
                        Set objLoeschItem.Workbook = Nothing
                        Call colPriAuswertungen.Remove(i)
                        'und wieder von vorne
                        i = 1
                        ' kein exit for wir loechen alles mit dem Namen
                      End If
                    End If
                End If
            Next
            End If
        End If
    End If
    
    Set objAuswertung = Nothing
    Set objLoeschItem = Nothing
    Exit Sub
DeleteAuswertung_Err:
    Call MyXLA.LOG.error(MODULNAME, "DeleteAuswertung", "")
    Resume Next
End Sub

----------------------------------------------------------------------------------------


thx
Roger


Bild


Betrifft: AW: Datei lässt sich nicht mehr öffnen
von: andre
Geschrieben am: 08.10.2003 20:12:32

hallo roger,
da passiert natürlich eine ganze menge - aber auf den ersten blick nichts schlimmes. ist noch die frage, was in den funktionen oder subs passiert, die aus dem DeleteAuswertung aufgerufen werden.
wahrscheinlich musst du mal schrittweise prüfen, wo es klemmt. also zuerst mal im einzelschrittbetrieb und dazwischen immer mal 'nen blick auf die workbooks werfen, dann mal einzelne makros deaktivieren, z.b. im App_WorkbookBeforeClose das call auskommentieren, dann das call wieder scharf machen und DeleteAuswertung abspecken...
gruss andre


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Inputbox mit mehreren Feldern?"