Makroausführung immer lansgsamer
16.02.2005 10:59:13
hbis
ich sitze gerade an einem Phänomen, für das ich bisher nirgendwo Hinweise gefunden habe:
Ich habe eine Makro gebaut, das nacheinender aus insgesamt 26 verschiedenen Tabellen Daten ausliest, umordnet und -formatiert, zusammenfasst und in neuen (Text-)Dateien ausgibt. Das Makro wird bei Aufruf der zugehörigen EXCEL-Datei automatisch gestartet, die Tabelle schließt sich nach dem kompletten Durchlauf selbst.
Dieses Makro an sich läuft störungsfrei, der Ablauf dauert z.Zt. etwa 3 - 5 Minuten.
Mein Problem: Andere Benutzer sollen das Makro aufrufen können, sie sollten aber nicht in den Ablauf eingreifen oder das Makro abbrechen können. Ich habe daher verschiedene Ansätze ausprobiert (u.a. Application.Visible = False, Application.UserControl = False), die den Ablauf "störungssicherer" machen sollen.
Dabei stehe ich jedesmal vor dem Problem, dass das Makro langsamer wird und EXCEL quasi "stirbt", sobald die Anwendung den Fokus verliert. Ist das EXCEL-Fenster im Vordergund und maximiert, läuft mein Makro, ist es z.B. minimiert und verliert den Fokus durch Anklicken eines anderen Fensters, verlangsamt sich das Makro bis zum Stillstand (btw: bei 97% CPU-"Last" durch "Leerlaufprozess"..)
Der Einbau mehrerer "AppActivate "Microsoft Excel"" ins Makro vermindert die Abbruchrate zwar, aber das kann doch eigentlich nicht die Lösung sein?
Kennt jemand dieses (übrigens Rechner-unabhängige) Phänomen? Gibt es Tipps und Tricks zu diesem Thema?
Wär' nett, wenn ich irgendwie einen Ansatz finden würde.
Vielen Dank vorab!
Hans