Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA-Projekt bleibt offen

VBA-Projekt bleibt offen
01.06.2004 17:48:38
Stefan
Hallo,
ich öffne per Makro, kopiere mir daraus Daten und schließe sie mit
workbookname.Close False
Leider bleibt dabei immer das VBA-Projekt der Datei offen. Und mit der Zeit werden das immer mehr (pro Aufruf kommt eines dazu).
Wie schließe ich die Datei inklusive des Projektes? Gibt es dabei irgendwelche Parameter?
Danke
Stefan

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Schade - o.t.
Stefan
Liegt nur
01.06.2004 20:38:27
Well
an unsauberer Terminierung.
Das ist die unsägliche Möglichkeit nach Beenden auch noch Code auszuführen.
Dabei wird halt nur Schrott produziert.
Wer sauber terminiert hat auch keine Probleme.
Kein Wunder das die MSler die Schultern zucken.
Beispiel
Im Modul
Option Explicit
Public Quit As Boolean
Sub startit()
UserForm1.Show
If Quit Then ThisWorkbook.Saved = True
ThisWorkbook.Close
End Sub
im Userform:
Option Explicit

Private Sub CommandButton1_Click()
Quit = True
Unload Me
End Sub

Haut alles weg (vorher speichern ganz nützlich ;-)
Fare Well
Anzeige
AW: Liegt nur glau ich nicht
01.06.2004 23:36:09
Nepumuk
Hallo Fare Well,
und warum passiert das bei mir mit Excel2000 niemals, in XP mit den selben Mappen aber permanent? Warum passiert das in XP mit Mappen völlig ohne Code? Oder anderes Beispiel. Ich beende eine Mappe über einen Button in einem Userform, indem ich eine boolsche Variable auf True setze und die Form entlade. Im Makro welches das Form geladen hat, wird die Variable abgefragt und wenn diese True ist, wird die Mappe geschlossen. Und zwar mit Application.Quit. Ergebnis ist eine Application mit Titelleiste, Menü- und Symbolleisten sowie der Statusleiste aber alle ohne Funktion. Dort, wo eigentlich ein grauer Hintergrund zu sehen sein sollte (Excel ohne Mappe), sehe ich was hinter der Mappe geöffnet ist. Diese Mappe lässt sich nur noch über den Taskmanager beenden. Ich hatte Office XP zwei Wochen auf meinem Rechner. Nachdem ich rund zwanzig verschiedene und für einen Programmierer gravierende Fehler festgestellt hatte (z.B. fand der FileSearch keine neu erstellten Dateien, dafür aber Dateien die ich schon Wochen zuvor gelöscht hatte), habe ich das Paket zurückgegeben und den vollen Kaufpreis erstattet bekommen. In unserer Firma (Electrolux Europe [über 30.000 PC's und Terminals]) wird momentan von XP auf 2000 zurückgewechselt.
Gruß
Nepumuk
Anzeige
AW: Liegt nur glau ich nicht
Gerd
Hallo Nepumuk,
ist das ein generelles Problem bei XP und nachvollziehbar?
Kannst du mal ein Beispiel hochladen, denn ich habe deine Ausführungen
nicht ganz verstanden.
Gruß Gerd
Light Test
02.06.2004 08:22:25
Well
@Neppumuk
Ich habe mal deinen beschriebenen Aufbau nachgebaut - In Excel XP SP 2
Userform:
Option Explicit

Private Sub CommandButton1_Click()
Quit = True
Unload Me
End Sub

Allgemeines Modul:
Option Explicit
Public Quit As Boolean
Sub Test()
UserForm1.Show
If Quit Then ThisWorkbook.Saved = True
Application.Quit
End Sub
Datei vor Ausführen speichern.
Excel wird einwandfrei geschlossen und nichts bleibt übrig.
Fare Well
Anzeige
AW: Light Test
Stefan
Klar, wenn du Excel ganz schließt ...
Aber es soll tatsächlich Leute geben, die mit mehreren Mappen Arbeiten. Und wenn ich in einer Mappe das Makro ausführe, soll er mir hinterher garantiert nicht alle Mappen schließen.
Stefan
Das stammt nicht von mir ...
02.06.2004 22:39:04
mir
... sondern war Neppumuks Beispiel umgesetzt.
(Ich gehe dann davon aus, dass alle anderen Fälle abgedeckt werden oder z.b. gewährleistet ist, dass nur diese eine Mappe geöffnet ist. War ja eh nur theoretisch.
Dies gehört auch zum sauberen terminieren. Wenn ich eine App wegschieße muss ich dafür sorge tragen, dass ich auch alle Mappen , irgenwelche Ereignisse etc... abfange.)
Fare Well
Anzeige
ich kann mir das nicht erklären weil...
02.06.2004 22:44:37
Well
... ich nicht weiß, was ich mir erklären soll.
Wenn es um Code geht, stelle ihn doch auf das wesentliche reduziert hier hinein.
Ich baue es dann gerne nach.
Aber ich lade mir grundsätzlich keine Dateien herunter. Sorry :-(.
Fare Well
AW: ich kann mir das nicht erklären weil...
02.06.2004 23:05:20
Nepumuk
Hallo Fare Well,
wenn ich den Code auf das wesentliche reduziere, dann passiert das auch nicht. Aber beim öffnen der Mappe werden mehrere AktiveX-Componenten und Dll's benötigt sowie insgesamt acht andere Exceldateien geöffnet. Gestartet wird das ganze über ein VB Programm, welches noch ein anderes Programm aufruft, bevor diese Mappe geöffnet wird. Wenn du keine Mappen runterlädst, wird es mit .exe und .dll - Dateien wohl auch nichts werden. Vor allen Dingen, da du die auch noch auf deinem Rechner registrieren müsstest.
Ich muss noch ungefähr ein Monat mit dem Mist leben, dann habe ich wieder Office2000 auf dem Rechner und brauche mich dann nicht mehr damit rumärgern.
Gruß
Nepumuk
Anzeige
@Nepumuk
02.06.2004 23:29:14
Well
Hallo Nepumuk,
das kann und will ich wirklich nicht. Ich will mir ja nicht mein System verdrehen.
(Und für ein Forum mir einen Experimentierrechner aufzubauen,
ist etwas viel verlangt ;-) )
Aber zu sagen, dann warte ich auf ein Downgrade auf E2000, ist irgendwie den Kopf in den Sand stecken.
Es muss doch ermittelbar sein, wann nicht sauber terminiert wird (und warum).
Es könnte doch durchaus sein, dass Methoden oder Konstanten angewandt werden, die in XP nicht oder nicht so zur Verfügung stehen (Was zwar absoluter Mist ist aber durchaus denkbar)
Aber wenn es eine Firmenware ist, kannst du es ja von der E-Version abhängig machen.
Trotzdem muss es möglich sein, die Fehlerursache zu ermitteln. Ist nur eine Frage des Aufwandes. Letztendlich bedeutete es Komponente für Komponente abzuschalten, bis der Fehler nicht mehr auftritt.
Schade, dass du es nicht auf den Fehler reduzieren kannst, hätte mich interessiert.
(Bei uns laufen einige VB-Programme die auf Excel zugreifen und zwar unabhängig von der Excelversion, Hauptsache E97+)
Fare Well
and good night
Anzeige
Im Nachgang Dll
02.06.2004 23:49:00
Well
Es ist mir von ExcelXP bekannt, dass es Probleme mit Dll's haben kann.
Wenn innerhalb einer Mappe ein Dll Verweis ist,welche mit VB erstellt wurde, dann verliert XP diesen manchmal irgendwie aber nicht komplett.
Ist auch eine Frage wo die Dll liegt, ob im 32 oder im Ordner.
Es wäre dann einen Versuch Wert, die Dll mit AddFromFile (oder so) beim Starten nochmals zu referenzieren.
Fare Well
AW: Liegt nur
Stefan
Ich nutze aber garkein Form, sondern rufe das Makro direkt auf.
Und die ganze Applikation zu beenden kommt nicht in Frage, da evtl auch noch andere Mappen geöffnet sind.
Stefan
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige