VEEforum.de deutschsprachiges Forum für VEE Entwickler
Excel sauber beenden - Druckversion

+- VEEforum.de deutschsprachiges Forum für VEE Entwickler (http://www.veeforum.de)
+-- Forum: VEE (/forumdisplay.php?fid=5)
+--- Forum: ActiveX, Excel, Word (/forumdisplay.php?fid=13)
+--- Thema: Excel sauber beenden (/showthread.php?tid=96)


Excel sauber beenden - DerBK - 25.03.2008 16:13

Hallo

Das mag eventuell ein triviales Problem sein, aber:

Wie kann ich aus VEE7.5 heraus Excel vernünftig beenden? Zu Beginn meiner Anwendung wird Excel im Hintergrund verdeckt gestartet, während eines Prozesses Messdaten gesammelt und die nach abschluss des Prozesses in Excel weggespeichert. Nach Beendigung des VEE-Programms habe ich aber immernoch Excel.exe im Taskmanager laufen und kann auch bis zur manuellen Beendigung des Excelprozesses über den Taskmanager keine Excelmappe mehr öffnen.

Ich hab mal im Bild angehängt, wie Excelaufruf und Programmende bei mir aussehen. Da ich nur Standardzeug aus der Excellib benutzt hab, sollte das eigentlich recht eindeutig sein.


Excel beenden - Bratbaecker - 25.03.2008 19:33

Hi,

leider ist das kein so einfaches Problem.
Eine wirkliche Lösung habe ich nie ausprobiert.

Schau mal hier http://my-vee.de/cgi-bin/veeforum/YaBB.pl?num=1081419458 im alten Forum gab es die Frage auch schon mal.

Der Link zum VFR-Archiv funktioniert nicht mehr, evtl. weiß Detlef wo eine Lösung jetzt steht. Am besten eine Komplett-Lösung die man dann hier einfügen kann. :?:


- DerBK - 26.03.2008 10:01

Hm, unangenehm.

Danke erstmal für die Antwort, dann weiß ich zumindest schonmal, dass ich nicht irgendwas simples übersehen habe. Ich werd mich mal durch den verlinkten Thread durchwühlen und schauen, ob ich die Lösung rekonstruiert bekomme. Fall sich eine Lösung finde, werd ich die hier nochmal erläutern.

Bis dahin kann aber gern noch ein 'Wissender' sich hier melden, wenn er das bereits erklären kann, das würd mir viel Arbeit und Zeit ersparen.

//
Update: Die Variante mit Taskkill ist für meine Zwecke ausreichend, daher habe ich die jetzt eingebunden. Wie mein Programmende jetzt aussieht, habe ich als Anhang beigefügt. Nicht schön oder elegant, aber wirkungsvoll Smile


- detlef - 26.03.2008 10:43

Im Prinzip sollte deine Vorgehensweise richtig sein und Excel wird durch die Excel-lib auch beendet. Aber irgendetwas scheint bei dir schief zu laufen....
Greifst du aktiv ( also mit der Maus ) irgenwo in deinem Excel Blatt ein ?
Oder geht alles erst mal automatisch?
Wenn alles automatisch, dann schalte Excel mal auf unsichtabr mit dem invisible switch...

Bist du sicher, dass du die Schleife nur einmal aufrufst, also nicht mehrere Instanzen von Excel oeffnest ?
Stelle auch mal sicher, dass excel alles ausgefuehrt hat, bis der Quit Befehl kommt...mach mal ein Wait davor...


Uebrigens, die neuen korrekten Links lauten:

Search the "unofficial vrf archive" at

"http://www.vrfarchive.com/vrf_archive".

http://www.vrfarchive.com/vrf_archive


Search the Agilent vrf archive at "http://vee.engineering.agilent.com".

http://vee.engineering.agilent.com


- DerBK - 26.03.2008 10:49

Mal der Reihe nach durch:
detlef schrieb:Greifst du aktiv ( also mit der Maus ) irgenwo in deinem Excel Blatt ein ?
Oder geht alles erst mal automatisch?
Während das VEE-Programm läuft, sind keine eingaben möglich, das läuft alles automatisch ab.
Zitat:Wenn alles automatisch, dann schalte Excel mal auf unsichtabr mit dem invisible switch...
Hab ich bereits getan, Excel arbeitet im Hintergrund, während VEE läuft, ist von Excel nichts zu bemerken.
Zitat:Bist du sicher, dass du die Schleife nur einmal aufrufst, also nicht mehrere Instanzen von Excel oeffnest ?
Ja, ich rufe Excel einmal zu Beginn des Programms auf, sammle dann während des eigentlichen Prozesses alle Messdaten in einem Array und speichere zum Schluss den Array in einem schwung ins Excel. Mehrfachaufrufe möchte ich da eigentlich ausschließen.
Zitat:
Stelle auch mal sicher, dass excel alles ausgefuehrt hat, bis der Quite Befehl kommt...mach mal ein Wait davor...
Das ist allerdings ne mögliche Fehlerquelle, das werd ich nochmal ausprobieren, danke.


- detlef - 26.03.2008 11:03

zum checken, ob Excel mehrfach aufgerufen wird, einfach mal den Taskmanager mitlaufen lassen. Der tiefere "Sinn" der Excel-lib war es eigentlich, dieses Mehrfachaufrufen von Excel zu beenden...
Das war vorher mit der ActiveX Funktion schon mal moeglich...


- detlef - 03.04.2008 10:51

Noch was:
Nimm mal das Beispiel aus dem Quick-Excel menu und checke, ob das so richtig tut bei dir.
Wenn ja, dann setze deine Sachen Schritt fuer Schritt dazwischen .
Und wenn es dann nicht tut, hast du wohl einen Bug gefunden unter einer bestimmten Kombination ...
Sag mal Bescheid ...


- detlef - 14.04.2008 11:46

Bitte mal um Rueckmeldung !
Hast du eventuell neben den aus den Excel Menue Sachen eigene Komandos via XLAPP... benutzt ?


- DerBK - 21.04.2008 12:11

Oh je, hatte das Forum hier ganz vergessen... hab ehrlich gesagt nur wieder reingeguckt, weil sich eine andere Frage ergeben hatte.

Aber besser spät als nie mal meine Rückmeldungen:

Zitat:zum checken, ob Excel mehrfach aufgerufen wird, einfach mal den Taskmanager mitlaufen lassen. Der tiefere "Sinn" der Excel-lib war es eigentlich, dieses Mehrfachaufrufen von Excel zu beenden...
Das war vorher mit der ActiveX Funktion schon mal moeglich...
Hab ich überprüft, Excel wurde nicht mehrfach aufgerufen.

Zitat:Nimm mal das Beispiel aus dem Quick-Excel menu und checke, ob das so richtig tut bei dir.
Wenn ja, dann setze deine Sachen Schritt fuer Schritt dazwischen .
Und wenn es dann nicht tut, hast du wohl einen Bug gefunden unter einer bestimmten Kombination ...
Sag mal Bescheid ...
Meine Programmteile, die sich auf Excel beziehen, habe ich z.T. aus den Quick-Bausteinen übernommen oder dort herausgezogen. Tritt das gleiche Problem auf.

Zitat:Hast du eventuell neben den aus den Excel Menue Sachen eigene Komandos via XLAPP... benutzt ?
Habe ich nicht, dazu fehlen mir auch die Kenntnisse Smile


Tjo, das "harte" Beenden des Tasks via taskkill hat sich als für meine Zwecke ausreichend herausgestellt. Warum Excel bei mir zusammen mit der Excel-lib nicht beendet wird, ist für mich nicht recht nachvollziehbar. Hab auch mal "kleinere" Programme zusammengebastelt gehabt, bei denen der Fehler genau so auftrat.

Sehr verwirrend, das ganze.