Und CreateOleObject('Excel.Application') erzeugt eine Excel Instanz, welche im Hintergrund weiterläuft, falls diese nicht beendet wird.
Soweit ich weiß beenden sich solche Objekte von alleine oder wenn man, was auch immer vor " := CreateOleObject()" steht einen anderen Wert zuweist, in beiden Fällen sollte es beendet sein, wann auch immer.
Ist das falsch?
Dann erstell' doch mal in 'nem Programm Excel und beende Dein Programm, ohne Excel "aufzuräumen." Was bleibt im Taskmanager übrig?
Wenn Excel vorher schon lief?
Wenn Excel vorher noch nicht lief?
Wenn Du vorm Programmende der "Excelvariabel" was anderes zuweist?