Standardmäßig speichert Word Sicherungskopien von Dokumenten in demselben Ordner wie das Original. Das bläht zum Beispiel Backups dieser Verzeichnisse unnötig auf.

Nutzen Sie unser Skript: Es legt bei jedem Öffnen eines Dokuments eine Kopie in einem vorgegebenen Ordner an.

Öffnen Sie “Extras | Makro | Visual Basic-Editor” und markieren Sie anschließend im Projekt-Explorer die Struktur “normal”. Mit “Einfügen | Modul” erzeugen Sie darin ein neues Programmmodul. Geben Sie im Editierbereich folgenden Code ein  und speichern Sie ihn per Klick auf das Disketten-Symbol:

Dim boolRunning As Boolean
Sub autoOpen()
Dim strMyDocument As String
Dim strMyBackup As String
Dim strDate As String
Dim strTime As String
Const BACKUP_DIR = \"C:\\Storage\\WordSicherung\\\"
If Not boolRunning Then
If MsgBox(\"Möchten Sie eine Sicherungskopie erstellen?\",vbYesNo) = vbYes Then
boolRunning = True
strMyDocument = ActiveDocument.FullName
strDate = CStr(Date)strTime = CStr(Time)strTime = Replace(strTime, \":\", \".\")
strMyBackup = Chr(34) & BACKUP_DIR & strDate & \" \" & strTime & \" Backup \" & ActiveDocument.Name & Chr(34)
ActiveDocument.SaveAs FileName:=strMyBackup, FileFormat:=wdFormatDocument ActiveDocument.Close
Documents.Open strMyDocument
End If
Else
boolRunning = False
End If
End Sub

Die Konstante “BACKUP_DIR” speichert den Pfad zum neuen Backup-Verzeichnis für die Sicherungsdateien. Passen Sie ihn am besten nach Ihren eigenen Vorgaben an. Wichtig: Der Ordner muss bereits vorhanden sein, sonst kann Word nichts darin ablegen! Die Textverarbeitung startet die Prozedur “autoOpen()”, sobald Sie ein Dokument öffnen. Da sie zum Projekt “normal” gehört, ist sie einheitlich für alle Dokumente aktiv.

Das Skript erzeugt aus der Kombination von Datum, Uhrzeit, dem Begriff “Backup” und dem Dateinamen des aktuellen Dokumentes einen eindeutigen Namen für die Sicherungskopie. Dabei ersetzt es die Doppelpunkte der Zeitangabe gegen normale Punkte, da Doppelpunkte in Dateinamen unzulässig sind. Schließlich speichert die Prozedur das Dokument mit “ActiveDocument.SaveAs” unter dem neuen Namen, schließt es und öffnet wieder das Original. Beim zweiten Öffnen können Sie den Dialog mit “Nein” verlassen, da ja kurz zuvor eine Kopie angelegt wurde.

Achtung: Die zu Beginn des Listings definierte globale Variable “boolRunning” ist sehr wichtig: Sie verhindert, dass sich die Prozedur beim erneuten Öffnen der Originaldatei in einer Endlosschleife verfängt. Dazu erhält die Variable beim ersten Öffnen des Originals den Wert “True”, damit die Textverarbeitung beim zweiten Öffnen erkennt, dass jetzt keine Sicherungskopie mehr nötig ist.

Ähnliche Beiträge:

Gilt für: Word 2000, Word XP, Word 2003