Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
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
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel Prozess beenden

Excel Prozess beenden
01.12.2006 12:07:00
Stefan
Hallo Zusammen,
ich bin verzweifelt.
Mein Programm in VB6 öffnet Excel Objekte und übergibt Auswertungen an die geöffnete Arbeitsmappe. Dann wird sie gedruckt, gespeichert und geschlossen.
Alles fein.
Nur der Prozess bleibt geöffnet. Der muss aber geschlossen werden, damit weitere Arbeitsmappen bearbeitet werden. Sind zwei Excel Prozess geöffnet, läuft die Anwendung nicht rund.
Kann mir jemand sagen wie ich einen Prozess aus VB6/VBA schließen kann??
Ich danke Euch.
Gruß, Stefan

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Prozess beenden
01.12.2006 12:33:43
Stefan
Hallo Thorsten,
der Tipp ist gut, nur muss der Prozess in einer Routine ohne Dialog beendet werden.
Gruß,
Stefan
AW: Excel Prozess beenden
01.12.2006 12:48:58
IngGi
Hallo Stefan,
ein einfaches xlApp.Quit, wobei xlApp die Objektvariable für den Excelaufruf ist, schließt die Anwendung nicht?
Gruß Ingolf
AW: Excel Prozess beenden
01.12.2006 12:54:57
Kay
Um Excel aus VB zu öffnen musst Du Excel ja instanzieren. Um die Instanz anschließend
vollständig zu löschen darf daher die Anweisung
Set xlApp = Nothing
nicht vergessen werden. Ansonsten würdest Du im Taskmanager noch weiterhin
eine offene Instanz finden.
Gruß Kay
Anzeige
AW: Excel Prozess beenden
01.12.2006 13:38:43
Stefan
Hallo Zusammen,
nach der Instanziierung eines Objektes wird dies im Taskmanager als Prozess angezeigt.
Aber ich kann leider den Prozess mit den Befehlen
xlApp.Quit
Set xlApp = Nothing
nicht beenden.
Erst wenn ich die komplette Software schließe, wird auch der Prozess gelöscht.
Das kann aber nicht sein, da mehere Excel Instanzen erzeugt werden müssen.
Habt Ihr noch einen Tipp?
Danke und Gruß,
STefan
AW: Excel Prozess beenden
01.12.2006 15:47:51
Kurt Isane
Hi,
wie erzeugst du den Prozess bzw. die Excelinstanz(en)?
mfg Kurt
AW: Excel Prozess beenden
01.12.2006 16:15:30
Stefan
Hallo Kurt,
also ich erzeuge ein Objekt mit:
dim xlApp as Object
set xlApp = CreatObject("Excel.Application")
xlApp.visible = True
xlApp.Quit
Set xlApp = Nothing
Die Excel Datei wird zwar geschlossen und ist nicht mehr sichtbar aber wenn ich mir den Taskmanager ansehe, dann seh ich eine offene Excel Instanz.
Das wär ja alles nicht problematisch, nur sollen in einem Lauf mehrere Instanzen geöffent werden, die dann Statistiken an schon abgespeicherte Workbooks übergeben sollen.
Und hier liegt das Problem. Denn wenn eine zweite Instanz offen ist dann bekommst ich keine gespeicherte Datei mehr geöffnet.
Ich mach das mit:
Workbooks.Open("C:\Mappe1.xls"), false
false : sollte ein Dialog erscheinen
Vielleicht kannst du mir einen anderen Öffnen Befehl sagen.
Ich danke für Eure Hilfe,
STefan
Anzeige
AW: Excel Prozess beenden
01.12.2006 17:09:23
Kurt Isane
Hi,
das set xlApp = CreatObject("Excel.Application") ist sicher nur ein Schreibfehler
und soll wohl so lauten:

set xlApp = CreateObject("Excel.Application")


Du führst doch diesen Code von Excel aus aus, oder? Dann muss ja auch eine Excelinstanz im Taskmanager zu sehen sein, oder sind es zwei?
mfg Kurt
AW: Excel Prozess beenden
01.12.2006 19:07:45
Kay
@Kurt Isane
Wenn ich das richtig verstanden habe, wird Excel über eine Exe oder DLL instanziert (VB6).
@Stefan
Ist Excel denn das einzige Objekt, welches Du instanzierst? Wenn Du zum Beispiel über
xlApp eine weitere Instanz auf ein anderes Objekt (z.B. Workbook) einrichtest, dann
kannst Du die xlApp erst zerstören, wenn die anderen Objekte ebenfalls zerstört wurden.
Kurz:
dim xlApp as Object
dim xlWorkbook as Object
set xlApp = CreateObject("Excel.Application")
set xlWorkbook = xlApp.Workbooks.Open("C:\Mappe1.xls")
xlApp.visible = True
xlApp.Quit
Set xlWorkbook = Nothing
Set xlApp = Nothing
Hier wird die Instanz auf jeden Fall zerstört (getestet mit VB6). Hast Du vielleicht
eine OnError-Abfrage im Quelltext, die eine Fehleranzeige verhindert und über die
Objektzerstörung hinwegspringt?
Anzeige
AW: Excel Prozess beenden
02.12.2006 21:02:55
Stefan
Hallo Kay und Kurt,
@Kurt Isane
Danke für deine Hilfe. Der Fehler im Code war tatsächlich ein Tippfehler, hat aber nix damit zutun, dass es nicht funktioniert.
@Kay
Ich denke, dass ist die Lösung.
Ich werde es gleich am Montag ausprobieren.
Ich hab das zweite Workbook, das ich für die Datenübergabe öffne, nicht instanziiert.
Vielen Dank,
Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige