Aktualisieren vieler Vorlagenreferenzen (Microsoft Word)
Im Laufe der Jahre hat das Unternehmen von Phillip Tausende und Abertausende von Word-Dokumenten entwickelt. Sie haben kürzlich ihre Netzwerkinfrastruktur geändert, um verschiedene Server zu verwenden und Computer für alle Mitarbeiter von Phillip zu aktualisieren. Wenn jemand eines dieser bereits vorhandenen Dokumente öffnet, sucht er nach einer Vorlage, die in der alten Infrastruktur vorhanden war, aber nicht mehr verfügbar ist. Dies bedeutet, dass das Öffnen des Dokuments lange dauert. Danach können sie die fehlerhafte Vorlagenreferenz ändern. Wenn Phillip jedes der alten Dokumente öffnen muss, wird es Tage und Tage dauern, bis er dies tut. Er fragt sich, ob es eine Möglichkeit gibt, die Vorlagenreferenzen effizienter zu ändern, ohne jedes Dokument öffnen zu müssen.
Dies kann eine echte Belastung sein – es gibt nur wenige Dinge, die (im Büro) schlimmer sind
als auf einen Computerbildschirm zu starren und darauf zu warten, dass ein Prozess abgeschlossen ist.
Was passiert ist, dass Word denkt, dass sich Ihre Vorlagen an einem bestimmten Speicherort befinden, und Windows auffordert, die Vorlage an diesem Speicherort abzurufen.
Windows versucht pflichtbewusst (und versucht und versucht), die Anforderungen zu erfüllen, und sucht wiederholt nach dem Speicherort. Jeder Versuch läuft ab, und die Gesamtzeit, die für diesen vergeblichen Versuch aufgewendet wird, ist ziemlich auffällig.
Eine Lösung wäre, ein Makro zu verwenden, um jedes Dokument in ein Verzeichnis zu laden und die an dieses Dokument angehängte Vorlage zu ändern. Das Folgende ist ein Beispiel für ein solches Makro:
Sub BatchTemplateChange() Dim sPathToTemplates As String Dim sPathToDocs As String Dim sDoc As String Dim dDoc As Document Dim sNewTemplate As String Dim i As Long On Error Resume Next Application.ScreenUpdating = False sNewTemplate = "normal.dot" 'new template name sPathToDocs = Options.DefaultFilePath(wdDocumentsPath) & "\" sPathToTemplates = Options.DefaultFilePath(wdUserTemplatesPath) & "\" sDoc = Dir(sPathToDocs & "*.doc") While Len(sDoc) <> 0 Set dDoc = Documents.Open(FileName:=sPathToDocs & sDoc) dDoc.AttachedTemplate = sPathToTemplates & sNewTemplate dDoc.Close wdSaveChanges sDoc = Dir i = i + 1 Wend Application.ScreenUpdating = True MsgBox "Finished: " & i & " documents changed" End Sub
Beachten Sie, dass das Makro jedes Dokument am Standarddokumentspeicherort lädt, dies jedoch das Laden nicht unbedingt beschleunigt. Der Vorteil der Verwendung des Makros besteht darin, dass Sie es starten und arbeiten lassen können, während Sie nicht am Computer sind.
Weitere Ideen für einen programmatischen Ansatz finden Sie an folgenden Stellen:
http://support.microsoft.com/kb/830561 http://www.edugeek.net/forums/scripts/35199-vba-script-change-word-document-template-location.html
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.
(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (11404) gilt für Microsoft Word 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007) und später) hier: