Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

word:entfernen_unguelter_verweise_zu_vorlagen

Makro zum Löschen der Verweise auf ungültige Vorlagen nach Serverumzug

Wenn man einen Serverumzug vornimmt, erlebt man mit Worddateien Problem, die auf Vorlagen auf dem Server basieren: Wenn der Serverpfad nicht mehr gefunden wird, dauert das Öffnen 20-30 Sekunden und wenn man das Dokument von Word aus mit der TM Anbindung öffnet, erscheint zudem das nervige "Der Server ist ausgelastet…" Fenster, das man dann wegklicken muss. Sehr ätzend, wenn man z. B. 40000 Patientenbriefe verwaltet. Word speichert nämlich den UNC Pfad von serverbasierten Vorlagen im Dokument und will diese Vorlagen dann öffnen.

Prophylaxe:

Keine serverbasierten Vorlagen verwenden, alles auf die lokalen Standardpfade kopieren (per Skript).

Therapie:

Folgendes Makro. Die Pfade muss man individuell anpassen. Getestet mit Word 2010. Pro Brief ca 1 Sekunde, wenn der alte Serverpfad noch zur Verfügung steht oder temporär zur Verfügung gestellt werden kann, sonst eben 20-30 Sekunden. Zum Glück konnte ich auf kreative Vorlagen aus dem Netz zurückgreifen.

Ohne Gewähr, bitte nur von denen zu benutzen, die das Makro verstehen, einrichten und auf den erwünschten Erfolg testen können. Es wird die typische TM Ordnerstruktur der Briefe abgearbeitet (Monatsverzeichnisse yyyymm). Den Pfad der Briefe und Jahrgänge muss man individuell anpassen. Dass man vorher eine Sicherung herstellt, sollte klar sein.

Achtung: Alle Dokumente haben dann ein neues Datum!

Sub VorlagenpfadLoeschen()

Dim strPath As String
Dim strSubpath As String
Dim strExt As String
Dim strFile As String
Dim Month
Month = Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12")

strPath = "T:\dokumente\patbrief\test\" 'Pfad des Verzeichnisses ggf. anpassen
strExt = "*.*" 'Dateiextension ggf. anpassen

If strPath = "" Then
Exit Sub
Else


For i = 1996 To 2011
For Each j In Month
strSubpath = i & j & "\"
strFile = Dir(strPath & strSubpath & strExt)
Do While Len(strFile) > 0
Documents.Open FileName:=strPath & strSubpath & "\" & strFile
ActiveDocument.AttachedTemplate = ""
Documents(strFile).Save
Documents(strFile).Close
strFile = Dir() ' nächste Datei
Loop
Next j
Next i

End If
End Sub
word/entfernen_unguelter_verweise_zu_vorlagen.txt · Zuletzt geändert: 27.06.2011 00:13 von jrr