WordTemplateCleaner
Jeder Mensch kennt Microsoft Word und jeder hat sich dann und wann über das
inzwischen sehr mächtige "Schreibprogramm" geärgert, weil es nicht das machte
was es soll. So auch ich. Das Problem war, dass beim Öffnen von bestimmten Word-Dokumenten
das Programm zwar gestartet wurde, aber dann einfror und scheinbar nichts mehr
ging.
Nach eingehender Analyse des Problems stieß ich schließlich auf den
Knowledge-Base-Artikel 830561 von Microsoft, der das Problem beschreibt.
Schuld an dem Verhalten ist, dass sich jedes Dokument merkt, auf welcher Vorlage
es erstellt wurde und Word beim Start mehrmals verzweifelt versucht diese zu
finden.
Eine Lösungsalternative war, ein VB-Script über die betroffenen Dokumente
zu jagen, um die mit dem Dokument verknüpfte Vorlage zu ändern. Aus dem Stückchen
Code im Knowledge-Base-Artikel hab ich dann eine kleine aber effektive VB-Anwendung
geschrieben, mit der auch nicht IT-Profis zurecht kommen. Da die Vorlageninformationen
nur über Word zu ermitteln sind, ist WordTemplateCleaner im Prinzip nichts
anderes als ein Steuerungsprogramm für Microsoft Word, d.h. jedes Dokument wird
im Hintergrund in einer Word-Instanz geöffnet, um entweder die Information auszulesen
oder eine andere zurückzuschreiben.
Die Handhabung des Programms ist in vier Schritte unterteilt, wobei jeder Schritt
über einen der Buttons anwählbar ist. Der jeweils nächste Button wird nach Ablauf
eines Schritt freischaltet.
1. Über den Button "Auswahl Ordner" wählt man einen Ordner aus, in dem sich
die zu analysierenden Dokumente befinden.
2. Über den Button "Suchen" werden alle Dokumente in dem Ordner aufgelistet.
3. Über den Button "Analyse" wird eine neue Word-Instanz gestartet, jedes
Dokument der Liste einmal geladen und die Vorlageninformationen in der Liste
vermerkt. Ist die Vorlage des Dokuments fraglich oder nicht vorhanden wird das
Dokument mit einem Haken versehen.
4. Über den Button "Start" werden alle angehakten Dokumente der Liste der
Reihe nach in eine neue Word-Instanz geladen, die angegebene Alternativ-Vorlage
wird im Dokument vermerkt und das Dokument wird gespeichert.
Im Normalfall bleibt Word bei der Verarbeitung der Dokumente unsichtbar.
Bei Passwort-geschützten Dokumenten jedoch, meldet sich Word mit einer entsprechenden
Fehlermeldung und wartet bis der Benutzer die Meldung quittiert. Danach bleibt
Word offen.
Man kann die Verarbeitung jederzeit mit der ESC-Taste abbrechen, was gerade
bei vielen Dokumenten manchmal Sinn macht, denn das Ganze ist nicht gerade Resourcen-schonend
und schnell wie man sich vorstellen kann. Wenn man fortfahren möchte, muss man
nur den letzten Schritt wiederholen. Das Tools bearbeitet dann zwar die Liste
erneut ab, lässt aber alle bereits als korrekt befundene Dokumente (grünes Häkchen)
aus.
Die Verarbeitung von sehr vielen Dokumenten sollte man auf einem Rechner
durchführen der leistungsstark genug ist und auf dem keine anderen grossen Prozesse
laufen.
Systemvoraussetzung
Die Anwendung wurde mit Visual Basic 6 entwickelt. Sie ist ohne Installation
unter Windows XP SP1 und höher lauffähig, da dort bereits die VB-Runtime
vorinstalliert ist. Das gleiche gilt für Windows Server 2003.
Sollte
das Tool dennoch nicht laufen, kann die nachträgliche Installation der
VB6-Runtime helfen, zu erhalten im
Microsoft Download Center (vbrun60sp6.exe).
Da die Anwendung Microsoft Word steuert, ist natürlich ein korrekte Installation
dieses Programms notwendig. In meinen Tests habe ich Microsoft Word 2003 verwendet.