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.dotx"         '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 im folgenden Artikel, der für einige Leser hilfreich sein kann:

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 (11405) gilt für Microsoft Word 2007, 2010, 2013, 2016, 2019 und Word in Office 365. Eine Version dieses Tipps finden Sie für ältere Menüoberfläche von Word hier: