ich habe ein seltsames Problem mit dem Erstellen von Word-Dokumenten aus VB 6.0 heraus.
In der Applikation werden bestimmte Schreiben genieriert, und diese zu sogenannten "Serienbriefen" zusammengefasst. Ein Schreiben
hat den Umfang von ca. 1-2 Seiten. Bei einem "Serienbrief" werden im Hintergrund einzelne Dokumente für jeden Dienstnehmer
generiert, und diese dann ins Hauptdokument per Copy&Paste-Befehlen reinkopiert.
Wenn ich ein Schreiben für einen Dienstnehmer einzeln erstelle, dauert dies ca. 10-15 sekunden. Wenn ich einen Serienbrief für nur
diesen Dienstnehmer erstelle, ist dieser auch in 10-15 Sekunden abgeschlossen. Bei 2 Dienstnehmer dauert dies ca. 20-30 Sekunden.
Aber sobald man einen dritten Dienstnehmer hinzufügt, dauert das ganze ca. 1 Minute. Mit Debug.Print-Messages hab ich
herausgefunden, dass die ersten beiden Schreiben ca. 10-15 Sekunden dauern, das dritte aber dann ca. 30 Sekunden. Auch wenn man mehr
Schreiben macht, dauern nach dem zweiten alle ca. an die 30 Sekunden. Im Debug-Modus ist das nachvollziehbar, aber sobald man
Haltepunkte setzt, und dort einfach mit F5 fortsetzt, ohne weiter irgendwas zu machen, dauern alle Schreiben auch ca. 10-15
sekunden. Daraufhin hab ich einen Sleep mit 100 ms eingeführt. Dies half zwar bei mir in der Entwicklungsumgebung, seltsamerweise
aber nicht auf den Clients (laufen auf einem Terminal-Server). Lokal funktioniert bei mir die kompilierte Version aber in
Normalzeit. Der Fehler liegt nicht an der Copy&Paste-Action, sondern beim Befüllen von Textmarken und Tabellen im Dokument.
Das seltsame daran ist, das unter Word 2000 alles einwandfrei läuft, und nur Word 2003 diese Probleme macht.
Hat wer einen Ansatzpunkt für mich, wo ich weiterforschen könnte, damit ich dies auch unter Word 2003 in normaler Zeit zum Laufen
bekomme?
mfg
Peter Piry
> Hat wer einen Ansatzpunkt für mich, wo ich weiterforschen könnte,
> damit ich dies auch unter Word 2003 in normaler Zeit zum Laufen
> bekomme?
Schwer zu sagen, doch die Tabellen sind sicher mal langsamer geworden.
Vielleicht hier mal suchen
> [...] und diese dann ins Hauptdokument per Copy&Paste-Befehlen
reinkopiert.
Ich würde mich beim Programmier schön bedanken, der mir dauernd an der
Zwischenablage rum fummelt, die gehört dem Anwender und der weiss auch was
er drin hat...
--
Thomas Gahler
MVP für WordVBA
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)
- Windows XP (SP1), Office XP (SP3)
>> Hat wer einen Ansatzpunkt für mich, wo ich weiterforschen könnte,
>> damit ich dies auch unter Word 2003 in normaler Zeit zum Laufen
>> bekomme?
> Schwer zu sagen, doch die Tabellen sind sicher mal langsamer geworden.
> Vielleicht hier mal suchen
danke für den Tipp. Werd mal hier ansetzen, und schauen, wie lang die Tabellenbefüllung dauert.
>> [...] und diese dann ins Hauptdokument per Copy&Paste-Befehlen
> reinkopiert.
> Ich würde mich beim Programmier schön bedanken, der mir dauernd an der
> Zwischenablage rum fummelt, die gehört dem Anwender und der weiss auch was
> er drin hat...
Weisst du da ne andere Möglichkeit? Ich hab nämlich dazu nix gefunden, und schon einiges gesucht ....
lg
Peter
> >> [...] und diese dann ins Hauptdokument per Copy&Paste-Befehlen
> > reinkopiert.
> > Ich würde mich beim Programmier schön bedanken, der mir dauernd an der
> > Zwischenablage rum fummelt, die gehört dem Anwender und der weiss auch
was
> > er drin hat...
> Weisst du da ne andere Möglichkeit? Ich hab nämlich dazu nix gefunden, und
schon einiges gesucht ....
Da ich nicht so genau weiss was du machst ist noch schwer um einen Tip zu
geben.
Vielleicht InsertFile
lg
Peter Piry