Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dateien regelmäßig automatisiert sichern

Forumthread: Dateien regelmäßig automatisiert sichern

Dateien regelmäßig automatisiert sichern
Bernhard
Hallo Forum,
ich habe vor, mir ein Wöchentliches (automatisiertes) Backup von meinen Arbeitsdateien zu machen. Damit der Arbeitsfortschritt dokumentiert werden kann, will ich für jede Kalenderwoche alle Dateien eines Verzeichnisses in ein jeweils neu anzulegendes Backup-Verzeichnis (Name des Verzeichnisses = aktuelles Datum) kopieren.
So wie ich das sehe, müßte die VBA-Prozedur das vollautomatisch machen (unter der Zuhilfenahme von 'Scheduled Tasks')
Meine Frage: Wie mache ich das am besten oder gibt es vielleicht schon sowas?
Viiiiielen Dank für Eure Hilfe! Jeder Tipp hilft
Bernhard
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dateien regelmäßig automatisiert sichern
Nepumuk
Hallo Bernhard,
wenn sich in dem Ordner keine anderen Ordner befinden, dann so:

Sub backup()
Dim myFileSystemObject As Object
Set myFileSystemObject = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
Do
Err.Clear
myFileSystemObject.CreateFolder "E:\" & CStr(Date)
If Err.Number = 0 Then Exit Do
myFileSystemObject.DeleteFolder "E:\" & CStr(Date)
Loop
myFileSystemObject.CopyFile "D:\Eigene Dateien\Eigene Tabellen\*.*", "E:\" & CStr(Date)
End Sub

Gruß
Nepumuk
Anzeige
Funktioniert!
Bernhard
Bin mal wieder absolut begeistert: es funktioniert!
Vielen Dank!
Bernhard
AW: Dateien regelmäßig automatisiert sichern
05.04.2004 17:32:27
Oberschlumpf
Hi Bernhard
Ich hab noch diese Lösung.

Private Sub Workbook_Open()
If Weekday(Date) = 2 Then
Dim BackupCopy As Object
Set BackupCopy = CreateObject("Scripting.FileSystemObject")
MkDir ("DeinBackupPfad\" & Date)
BackupCopy.CopyFile "PfadDerQuelldateien\*.xls", "DeinBackupPfad\" & Date
Set BackupCopy = ""
End If
ThisWorkbook.Close savechanges:=False
End Sub

Du müsstest dieses Makro in eine leere Excel-Datei schreiben, und diese Exceldatei dann in das Autostartverzeichnis speichern, damit die Datei bei jedem Windowsstart automatisch gestartet wird.
Das Makro wird beim Öffnen der Excel-Datei gestartet, aber nur Montags durchgeführt (Weekday(2) = Montag)
Natürlich kannst Du auch einen anderen Tag wählen. Sonntag = 1, Montag = 2, ...
Konnte ich Dir helfen?
Ciao
Thorsten
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Dateien regelmäßig automatisiert sichern


Schritt-für-Schritt-Anleitung

Um ein automatisiertes Backup in Excel zu erstellen, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und erstelle eine neue Arbeitsmappe.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Klicke auf Einfügen und wähle Modul.
  4. Füge den folgenden Code ein:

    Sub backup()
       Dim myFileSystemObject As Object
       Set myFileSystemObject = CreateObject("Scripting.FileSystemObject")
       On Error Resume Next
       Do
           Err.Clear
           myFileSystemObject.CreateFolder "E:\" & CStr(Date)
           If Err.Number = 0 Then Exit Do
           myFileSystemObject.DeleteFolder "E:\" & CStr(Date)
       Loop
       myFileSystemObject.CopyFile "D:\Eigene Dateien\Eigene Tabellen\*.*", "E:\" & CStr(Date)
    End Sub
  5. Speichere die Datei als Makro-fähige Arbeitsmappe (.xlsm).

  6. Nutze den Windows Taskplaner, um das Makro wöchentlich auszuführen.


Häufige Fehler und Lösungen

  • Fehler: Ordner kann nicht erstellt werden

    • Lösung: Überprüfe, ob der Pfad korrekt ist und die Berechtigungen für den Ordner vorhanden sind.
  • Fehler: Das Makro wird nicht ausgeführt

    • Lösung: Stelle sicher, dass das Makro in einer .xlsm Datei gespeichert und die Makros in Excel aktiviert sind.

Alternative Methoden

Eine alternative Methode für ein automatisches Backup ist, das Makro beim Öffnen der Arbeitsmappe auszuführen. Hier ist ein Beispielcode:

Private Sub Workbook_Open()
    If Weekday(Date) = 2 Then
        Dim BackupCopy As Object
        Set BackupCopy = CreateObject("Scripting.FileSystemObject")
        MkDir ("DeinBackupPfad\" & Date)
        BackupCopy.CopyFile "PfadDerQuelldateien\*.xls", "DeinBackupPfad\" & Date
        Set BackupCopy = ""
    End If
    ThisWorkbook.Close savechanges:=False
End Sub

Du musst dieses Makro in eine leere Excel-Datei schreiben und diese im Autostartverzeichnis speichern, damit es bei jedem Windowsstart automatisch ausgeführt wird.


Praktische Beispiele

  • Wöchentliches Backup: Das oben erwähnte Makro sichert alle Excel-Dateien in einem festgelegten Verzeichnis jeden Montag.
  • Monatliches Backup: Ändere den Weekday-Wert auf 1 für Sonntag oder 7 für Samstag, um das Backup an einem anderen Wochentag durchzuführen.

Tipps für Profis

  • Verwende relative Pfade: Anstatt absolute Pfade zu verwenden, kannst du relative Pfade nutzen, um die Flexibilität zu erhöhen.
  • Fehlerbehandlung optimieren: Implementiere eine detailliertere Fehlerbehandlung, um spezifische Fehlerursachen zu identifizieren.
  • Backup Makro erweitern: Füge Optionen hinzu, um nur geänderte Dateien zu sichern, um Speicherplatz zu sparen.

FAQ: Häufige Fragen

1. Wie kann ich das Backup Makro anpassen?
Du kannst die Quell- und Zielverzeichnisse im Code nach deinen Bedürfnissen anpassen.

2. Funktioniert das Excel automatisches Backup auch auf anderen Betriebssystemen?
Die VBA-Makros sind spezifisch für Windows und Excel. Auf Mac-Systemen kann es zu Komplikationen kommen, da der Windows Taskplaner nicht verfügbar ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige