Zusammenspiel Excel, Word und Fortschrittsanzeige (VBA)

DrPendergast, Donnerstag, 15.08.2019, 16:49 (vor 64 Tagen)

Hallo zusammen!

Ich bin mit meinem eigenen Latein am Ende und suche hier euer Wissen.

Zur Ausgangssituation:
Ich oder einer meiner Kollegen erstellen jede Woche abhängig von der Zielgruppe unterschiedliche Schulungsunterlagen. Die Unterlagen sind Wordformulare, die mit Hilfe von VBA und einer Serienbrieffunktion diverse PDFs ausspucken. Ich habe 15 verschiedene Vorlagen mit je ca. 70-90 Seiten, die ich in unterschiedlichen Kombinationen bis zu je 12 Exemplaren benötige.

Um mir und meinen Kollegen die Arbeit zu vereinfachen, habe ich in einer Exceldatei eine Userform angelegt. Hier muss man nur die Unterlagen ankreuzen und die Anzahl der Exemplare angeben. Nach einem einmaligen Klick auf [OK] wird jede Word-Datei, die für die Woche gewünscht ist, nacheinander aufgerufen, das jeweilge Erstellungsmakro ausgeführt und die erzeugten Schulungsunterlagen werden in einem Ordner abgelegt.

Soweit funktioniert das Prozedere sehr gut. Von Excel übergebe ich ein paar Variablen an Word, dort läuft das Makro aufgrund dieser bis zum Ende durch und dann macht Excel automatisch mit der nächsten Word-Datei weiter, bis alles fertig ist.

Leider dauert die Erstellung etwas lange und ist auch nicht perfekt. Wer also parallel etwas anderes in Word oder Excel macht, kann Fehler produzieren. Ich hätte also gerne einen Fortschrittsbalken, der dem Anwender zeigt, dass er noch ein Weilchen die Füße stillhalten soll. Und da fangen meine Probleme an.


Die Frage:
Wie kann ich es anstellen, dass Word im Rahmen seiner For-Next-Schleifen, in der die Unterlagen erstellt werden, nach jeder Unterlage der Userform eine Information liefert, dass sich der Fortschrittsbalken ein Stück weiterbewegen soll UND das dem User auch angezeigt wird?


Meine Überlegungen dazu sind folgende bisher gewesen:
- Excel berechnet vorab bereits, wie viele Unterlagen zu erstellen sind und errechnet einen Multiplikator für den Fortschrittbalken (Dreisatz -> Prozent).

- Word muss also nur überhaupt eine Meldung an Excel geben, ohne dass diese Inhalt haben muss.

- Die Userform sollte möglichst im Vordergrund sein und nach jeder For-Next-Schleife aktualisiert werden.

- Ich habe bereits eine eigenständige Userform (ufProgress) in Excel, die mit der bekannten Label.Width-Methode den Fortschritt anzeigen soll (lbProgress).


Ich weiß, das ist ohne Code oder Beispieltabelle vielleicht viel verlangt, aber die kann ich leider nicht hochladen. Die wären auch mit den 1000 weiteren Dingen darin ziemlich überladen und verwirrend. Ich hoffe trotzdem, auf den ein oder anderen Tipp, mit dem ich dann weiter probieren kann.


Vielen Dank im Voraus!
Paul


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum