autom. Sicherheitskopien speichern |
|
Word legt, sofern die Option Sicherungskopie erstellen in
den Eigenschaften verwendet wird, beim Speichern automatisch eine Kopie des letzten
Dokumentstandes vor dem Speichern an. Damit hat man im Falle einer Beschädigung der
aktuellen Datei wenigstens den Stand der letzten Sicherung. Möchte man nun aber diese Sicherungskopie an anderer Stelle speichern, nicht nur den letzten Stand behalten und sogar noch mit einem anderen Namen versehen, z.B. mit Angabe des Datums/Uhrzeit, so kommt man um eine VBA-Lösung oder ein externes Programm nicht herum. Einen möglichen Lösungsweg möchte ich im folgenden aufzeigen: Zur Auswahl des Speicherpfades (Ordners) wird auf das API SHBrowseForFolder zurückgegriffen. Der ausgewählte Ordner wird anschließend in die Caption-Eigenschaft des Speichern-Symbols eingetragen und beim Speichern eines Dokumentes ausgelesen (Normalerweise bietet sich dazu die Tag-Eigenschaft des Controls besser an, jedoch wird diese Eigenschaft zur Identifizierung der Schaltflächen verwendet). Beim Speichern wird dann zuerst der Dateiname und
Pfad des zu sichernden Dokuments über die Document-Eigenschaften
ermittelt und intern gespeichert. Anschließend wird der Dateiname mit dem Datum und der Uhrzeit erweitert
und unter diesem neuen Dateinamen im festgelegten Speicherordner gesichert. Erst danach wird das Dokument
im zuvor ausgelesen Originalverzeichnis gespeichert. Sub DateiSpeichernBak() Dim strFile As String Dim strPath As String Dim oDoc As Document Dim strFolder As String strFolder = CommandBars("Standard").FindControl(msoControlButton, 1, _ "BrowseFolder").Caption Set oDoc = ActiveDocument strFile = oDoc.Name strPath = oDoc.Path If Dir(c_Path, vbDirectory) <> "" Then oDoc.SaveAs strFolder & "\" & Format(Date, "yymmdd") & "-" & _ Format(Time, "hhmm") & "_" & strFile, wdFormatDocument End If oDoc.SaveAs strPath & "\" & strFile, wdFormatDocument End Sub Das vollständige Makro umfasst folgende Prozeduren:
Soll dieses Sichern automatisch bei jedem (manuellen) Speichern des Dokuments erfolgen, bietet es sich an, den Speichern-Befehl zu ersetzen. Dazu muss der Prozedurname mit dem Menünamen übereinstimmen:
Eine Erweiterungsmöglichkeit könnte nun darin bestehen, den Dateinamen etwas flexibler, z.B. über eine Eingabemaske, festzulegen. Hinweis |
Besucher: 0 online | 0 heute | 0 diesen Monat | 2202539 insgesamt | Seitenaufrufe: 61 | Letzte Änderung: 24.06.2006 | © 2001-18 Christian Freßdorf | ||||
Jeder Satz, den ich äußere, muß als Frage verstanden werden, nicht als Behauptung. Niels Bohr, 1885-1962, dänischer Physiker |
powered by phpCMS and PAX |