Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1628to1632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anzahl Backup-Dateien begrenzen

Anzahl Backup-Dateien begrenzen
27.06.2018 14:46:57
Gerhard
Hallo,
aus dem Archiv kommt dieses Workbook_BeforeSave-Makro (von Daniel).
https://www.herber.de/bbs/user/122353.xlsm
Beim Speichern wird jeweils eine zusätzliche Backup-Datei erzeugt.
Die Anzahl der Backups sollte auf 5 begrenzt werden. Diese Begrenzung funzt leider nicht.
Wo steckt der Fehler?
Wenn ich die Anzahl der Obergrenze für die Backups in einer Zelle angeben könnte, dann hätte ich eine zusätzliche Verbesserung.
Ich bitte um freundliche Hilfe/Verbesserung.
Gruß
Gerhard

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

Betreff
Datum
Anwender
Anzeige
AW: Anzahl Backup-Dateien begrenzen
27.06.2018 15:17:39
UweD
Hallo
so?
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   Dim SavePath As String
   Dim FileName As String
   Dim FileExtension As String
   Dim FileDate As String
   Dim FileBackupName As String
   Dim FileUsername As String
   
   Dim Datei As String
   Dim DatAlt As String
   Dim DateiLösch As String
   Dim x As Long
   Dim Zähler As Long
   Dim MMax As Integer
   
     SavePath = ThisWorkbook.Path & "\Backup\"
     FileName = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
     FileExtension = Mid(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") + 1)
     FileUsername = Environ("UserName")
     FileDate = Format(Now, "YYYYmmdd_hhmmss")
     MMax = Worksheets("Tabelle1").Range("B1").Value
     
     '--- letztes Backup löschen 
     x = Len(FileName & "_" & FileUsername & "_") + 1
     DatAlt = "ZZZ"
     Datei = Dir(SavePath & FileName & "_" & FileUsername & "_*." & FileExtension)
     Do While Datei <> ""
        Zähler = Zähler + 1
        If Mid(Datei, x) < DatAlt Then
            DatAlt = Mid(Datei, x)
            DateiLösch = Datei
        End If
        Datei = Dir
     Loop
     Worksheets("Tabelle1").Range("B2").Value = Zähler
     If Zähler > MMax Then Kill SavePath & DateiLösch
     
     FileBackupName = SavePath & FileName & "_" & FileUsername & "_" & FileDate & "." & _
FileExtension
     ActiveWorkbook.SaveCopyAs FileBackupName
 End Sub

der Zählervergleich wird ja erst vorgenommen, wenn keine Datei mehr gefunden wurde. Dann ist DIR(..) aber schon "".
LG UweD
Anzeige
AW: Anzahl Backup-Dateien begrenzen
27.06.2018 15:41:28
Gerhard
Hallo Uwe,
so gehts.
Danke!
Gruß
Gerhard
Danke für die Rückmeldung owT
28.06.2018 08:11:38
UweD

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige