AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Aus Excel-VBA andere Excel-Instanzen killen
Thema durchsuchen
Ansicht
Themen-Optionen

Aus Excel-VBA andere Excel-Instanzen killen

Ein Thema von Jumpy · begonnen am 1. Sep 2011 · letzter Beitrag vom 5. Sep 2011
 
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#1

Aus Excel-VBA andere Excel-Instanzen killen

  Alt 1. Sep 2011, 15:42
Hallo,
ich soll eine Klasse/Funktion (Excel-VBA) was auch immer erstellen, die Checked, ob andere Excel-Instanzen als die, in der die Funktion läuft, existieren und diese ggf. killed. Ich wollte mal mein geplantes vorgehen beschreiben, vllt. hat jemande Ideen was wie geht.

1) Alle Workbooks der aktuellen Instanz schließen, bis auf das, in dem die Funktion läuft. ERLEDIGT!

2) Da ich über Window-Handle arbeiten will erstmal den der aktuellen Instanz feststellen:
2a) Excel >= Excel 2002: self.hwnd ERLEDIGT!
2b) Was bei älteren Excel (2000 reicht, 97 wird nicht berücksichtigt)

3) Alle Excel-Instanzen über ihre Windows-Handle ermitteln. Will hiernach vorgehen:
http://www.excel-ticker.de/excel-vba...zeugen-teil-1/

4) Hat eine so gefundene Excel-Instanz einen anderen Handle als den gespeicherten, ist es mMn eine andere Instanz.
4a) Hat diese ein Workbook offen, so läßt sich (wie im Link unter 3 beschrieben) eine Objektreferenz auf dieses Workbook besorgen, dessen Application Eigenschaft dann eine Referenz auf die Instanz bildet. So könnte man dort alle Workbooks schließen und die Instanz killen (hoffe) ich.
4b) Ist kein Workbook offen ist im Teil 2 des verlinkten Titels eine Methode beschrieben ein Workbook zu erstellen und dann wie unter 4a weiterzumachen. Keine Ahnung ob das klappt.
4c) Ist diese Instanz ein abgestürztes Excel könnte 4b) nicht Möglich sein, was mach ich dann? Kill Prozess nach Name könnte in die Hose gehen, da alle Instanzen irgendwie Excel heißen. Gibts Kill nach Handle?


Denn gerade 4c) ist der Knackpunkt, da das abgestürzte Excel evtl. noch den Finger auf einem benötigten Dokument haben könnte, was dazu führt, dass die momentane Verarbeitung zu einem späteren Zeitpunkt scheitert.

P.S.: Werd das auch mal mit wenig Hoffnung in einem Excel-Forum posten, hab da aber wenig Hoffung, weil das so "gefühlt ans Windows-Eingemachte geht", sprich viel über APIs und da hab ich die Hoffnung das einige Programmierer hier da vllt. mehr Ahnung haben, als der normale Excel-VBA-Trickser (zu denen zähle ich mich auch und obigen Artkel hab ich auch beim dritten lesen nicht 100% verstanden).

Zum Crosspost: http://www.office-loesung.de/ftopic4...sc.php#2013765
Ralph

Geändert von Jumpy ( 1. Sep 2011 um 15:47 Uhr) Grund: Crosspost hinzugefügt
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz