Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Excel/Word 2000 Makro wird langsam

49 views
Skip to first unread message

Daniel Brinckmann

unread,
Dec 19, 2000, 1:12:27 PM12/19/00
to
Hi Worders,
Ich bin gerade dabei, ein kombiniertes Excel/Word Projekt von Version 97 auf
2000 upzudaten.
Ein der Aufgaben des Projektes ist es, 6 Tabellen von Excel nach Word zu
kopieren und sie dort zu verändern. Dabei werden u.a. folgende Arbeiten
ausgeführt: Optimale Spaltenbreiten, Zellen verbinden, Hinzufügen und
löschen von Textmarken und Veränderungen der Zeilenhöhen. Das Ganze läuft in
Excel, wobei Word per Early Binding mit Verweis auf die Word
Objektbibliothek angesprochen wird.
Nach einigen Veränderungen läuft es auch in 2000, ist aber sehr viel
langsamer geworden als in 97 (derselbe PC). Zusätzlich wird das Makro bei
mehrfacher Ausführung immer langsamer, wenn ich das Word-Dokument nicht
zwischendurch schließe und wieder öffne.
Ich habe mal getestet und folgendes gemessen (alle Angaben in Sekunden
Laufzeit):

Excel 97 Excel 2k Excel 2k(Datei zwischendurch
geschlossen))
1. Versuch 60 215 230
2. Versuch 62 420 240
3. Versuch 61 563 180

Ich bin ziemlich sicher, daß das Problem im Word-Teil des Makros liegt. Es
scheint auch, daß das Makro schneller wird, wenn ich den Fokus auf Word
setze, ihm also zuschaue, aber das läßt sich schwer verifizieren.
Außerdem scheint die verlängerte Laufzeit auf ein memory leak hinzuweisen,
wie z.B. beim PageSetup-Objekt von Excel.

Kann mir jemand einen Tip geben, wie ich das Makro beschleunigen kann oder
warum diese merkwürdige Laufzeitverlängerung auftritt?

schon mal danke und frohes Fest

Daniel


Lutz Gentkow

unread,
Dec 20, 2000, 2:43:08 AM12/20/00
to
Hallo Daniel,

Tips zur Kombination Word/Excel und zum generellen Beschleunigen von
Makros findest Du unter
http://www.mvps.org/word/FAQs/InterDev/MakeAppInvisible.htm und
http://www.mvps.org/word/FAQs/OfficeInterdev.htm .
Evtl. lohnt es sich auch, zwischendurch mal den Undo-Buffer zu löschen.

Viele Grüße vom Niederrhein

Lutz

P.S. Crosspostings bitte auch als solche kennzeichnen!

Lutz Gentkow

unread,
Dec 21, 2000, 2:00:29 AM12/21/00
to

P.S. Aus Deja:

While ActiveDocument.Undo = True
ActiveDocument.Undo
Wend

You may have to address this by regularly saving the document and/or
flushing the undo buffer by using ActiveDocument.UndoClear.

Lutz

Daniel Brinckmann

unread,
Dec 21, 2000, 2:30:50 PM12/21/00
to
Danke Lutz,
UndoClear hat immerhin die Laufzeit in 2000 auf ca. 120 Sekunden
heruntergefahren und zwar egal, ob zwischendurch gespeichert wurde.
Das ist zwar immer noch doppelt soviel wie 97 ohne UndoClear, aber es ist im
Rahmen.

Meine Frage wird damit zu einer eher akademischen (Word 2000 langsamer als
Word 97), aber davon gibt es ja soo viele :-).

Nchmal danke ür die Hilfe und

Merry Xmas
"Lutz Gentkow" <e...@kohlschein.de> schrieb im Newsbeitrag
news:3A41AA8D...@kohlschein.de...

0 new messages