Zwangsweises Speichern der Normal.dot in Word XP

Home

Schöne Ansichten

Kontakt

Problembeschreibung

Eine ganze Reihe von Menschen (darunter der Webmaster dieser Site) beobachten bei der Arbeit mit Microsoft Word XP ein ausgesprochen störendes Verhalten: Der eigentlich sinnvolle Automatismus, Änderungen an Einstellungen, die Word in der Standard-Dokumentenvorlage "Normal.dot" verwaltet (Formatvorlagen, Textbausteine, Makros usw.) am Ende einer Sitzung automatisch zu sichern, hat sich bei zahlreichen Installationen von Word XP verselbständigt. D.h., die Normal.dot wird ohne Sinn und Verstand am Ende jeder Word-Sitzung gespeichert, was nicht nur überflüssig ist, sondern auch lästig (da der Vorgang mehrere Sekunden dauern kann) und problematisch sein kann (nämlich dann, wenn Word als OLE-Automation-Server von anderen Programmen "ferngesteuert" wird, die nicht mit der zusätzlichen Wartezeit bei Programmbeendigung rechnen und deshalb ins Schlingern geraten).

Ursache

Die eigentliche Ursache des Problems ist mir nicht bekannt. Insbesondere ist rätselhaft, daß das Phänomen auf den mir zugänglichen PCs erst geraume Zeit nach der Installation auftrat – mein Verdacht richtet sich auf das Einspielen irgendeines SupportPackages oder eines Sicherheitsupdates für Windows XP.
Das Problem wird von Microsoft mehr oder minder deutlich bestätigt (z.B. im Knowledge-Base-Artikel 285885) – freilich ohne daß wirksame Abhilfen beschrieben würden.

Lösung

Eine richtige Lösung habe ich bisher zwar nicht, aber dafür einen Workaround, mit dem ich recht gut leben kann. Ich habe folgende Makros in die Normal.dot gepackt:


Sub AutoExec() Application.NormalTemplate.Saved = True End Sub Sub AutoNew() Application.NormalTemplate.Saved = True End Sub Sub AutoOpen() Application.NormalTemplate.Saved = True End Sub

Damit wird das interne Dirty-Flag für die Normal.dot, das offenbar bug-bedingt bei jedem Programmstart automatisch gesetzt wird, wieder ordnungsgemäß zurückgesetzt. Evt. Dot-relevante Änderungen, die man während der Session vornimmt, werden korrekt erkannt und führen bei Programmbeendigung zur (dann erwünschten!) Sicherung der Normal.dot - sonst nicht.
Wichtig: Bei den Namen der Makros handelt es sich um von Microsoft definierte Standardbezeichner, deren Vorhandensein Word im Rahmen des internen Event-Handlings (für die Ereignisse "Programm starten", "Neues Dokument anlegen", "Dokument öffnen") überprüft und ggf. abarbeitet. Bei Verwendung anderer Makronamen wird sich am Systemverhalten daher nichts ändern.

Einschränkung

Die vorgestellte Lösung funktioniert nur dann, wenn man Word indirekt durch Starten eines schon vorhandenen Dokuments aktiviert. Startet man Word stattdessen "leer" und wählt erst danach (über Datei → Öffnen) ein Dokument aus, so wird beim Beenden der Sitzung die Normal.dot zwangsweise gespeichert. Dies gilt sogar dann, wenn man Word durch den Kommandozeilenparameter /n anweist, beim Start kein neues Dokument zu öffnen. Offenbar wirken beim Programmstart Mechanismen, die von dem normalen Event-Handling abweichen.