Microsoft Excel

Herbers Excel/VBA-Archiv

Excel Objekt in VB-Anwendung schliessen

Betrifft: Excel Objekt in VB-Anwendung schliessen
von: Ralf Muri
Geschrieben am: 23.04.2003 - 08:34:57

Hallo,

In meinem VB-Programm binde ich ein Excel Sheet als Objekt ein damit ich es bearbeiten kann:

Set Excel = CreateObject("Excel.Application")
usw...

Wenn ich das Programm schliessen im VB-Testmodus ist das Objekt aber immer noch Aktiv, also wie geöffnet, d.h. im Task Manager wird immer noch Excel angezeigt. Die Excel's im Taskmanager häufen sich so mit jedem Testen und z.T. ist dann auch der Zugriff auf das Sheet verweigert.
Jetzt möchte ich fragen wie ich denn so ein Excel Objekt richtig schliessen kann? Ich verwende folgenden Code:

Excel.Quit
Set Excel = Nothing

Aber irgendwie bleibt immer noch ein Excel Task offen, wo liegt das Problem?
Danke für Hilfe
Mit freundlichen Grüssen

  

Re: Excel Objekt in VB-Anwendung schliessen
von: Harald Neumann
Geschrieben am: 23.04.2003 - 08:43:54

Hallo Ralf,

bei jedem Start Deines Programms generierst Du eine neue Instanz von Excel, da Du Dein Programm ja im Testmodus beendest.

Prüfe erst ob bereits eine Instanz vorhanden ist

If not GetObject("Excel.Application") then
Set Excel = CreateObject("Excel.Application")
else
...
Endif


Gruss Harald



  

Re: Excel Objekt in VB-Anwendung schliessen
von: Ralf Muri
Geschrieben am: 23.04.2003 - 08:52:43

Okay, danke das geht.

Gibt es aber noch eine möglichkeit mit der das Excel Objekt vollständig entfernt wird? Weil später muss ich mit verschiedenen Excel Sheets arbeiten und da wäre es gut wenn ich das ganze vollständig beenden bzw. das Excel Objekt löschen könnte!

  

Re: Excel Objekt in VB-Anwendung schliessen
von: Harald Neumann
Geschrieben am: 23.04.2003 - 08:59:43

Hallo Ralf

Wenn Du mit der Funktion GetObjects() arbeitest und beim
Programmende tatsächlich
Excel.Quit
Set Excel=Nothing
ausführst, müsste Excel vollständig entfernt sein.

Gruss Harald

 

Beiträge aus den Excel-Beispielen zum Thema "Excel Objekt in VB-Anwendung schliessen"