Sicherungskopie beim Öffnen von Word-Dokumenten erzeugen
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



Hallo,
ich suche genau so ein Script für Excel und habe mir bereits einen Wolf im Internet gesucht!
Kann man dieses Script auch für Excel umschreiben?
Das übersteigt nämlich meine Excelkenntnisse )-:
Hallo, wir haben mal auf die Schnelle nach einer ersten Lösung für Excel gesucht. Man muss den Code ein wenig anpassen für Excel. Wie es genau funktioniert, haben wir gleich mal bei den Excel-Tipps mit aufgenommen.Der Nachteil bei dieser Vorgehensweise bisher: Man muss das in jede Arbeitsmappe einbauen. Vielleicht kennt aber jemand eine globale Lösung?