AW: Anzahl der Sicherungsdateien begrenzen
08.02.2008 19:00:11
Chris
Servus Claudia,
mit den beiden Makros sollte das gehen:
Allerdings habe ich mir erlaubt das Abspeichern des Datums im Format DD.MM.YYYY vorzunehmen, da das wesentlich weniger Programmierarbeit ist. Ich hoffe, das macht nichts aus. Die Pfade musst du natürlich noch anpassen.
Sub KopieSpeichern()
Const Verzeichnis = "C:\Documents and Settings\stadter\Desktop"
With ActiveWorkbook
.SaveCopyAs _
Filename:=Verzeichnis & "\" & _
Left(.Name, Len(.Name) - 4) & "_" & Format(Now, "DD.MM.YYYY hh mm") & ".bak"
End With
Call teste
End Sub
Sub teste()
Dim DateiName As String, Dateipfad As String, str1 As String, str2 As String, str3 As String, _
str4 As String, str5 As String, str6 As String
Dim strDatum As String, strStunde As String, strMinute As String, Löschdatei As String
Dim Dateien As Integer, zähler As Double
zähler = 0
With Application.FileSearch
On Error Resume Next
.NewSearch
.LookIn = "C:\Documents and Settings\stadter\Desktop"
.Filename = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & "*.bak"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
zähler = zähler + 1
DateiName = Dir(.FoundFiles(Dateien))
Dateipfad = .FoundFiles(Dateien)
str1 = Right(DateiName, 20) ' ab Datum
str2 = Left(str1, 10) ' Datum
str3 = Right(str1, 9) ' Rest hinter Datum
str4 = Left(str3, 2) ' hh
If Left(str4, 1) = 0 Then
str4 = Right(str3, 1)
End if
str5 = Right(str3, 6) ' Rest hinter hh
str6 = Left(str5, 2) ' mm
If Left(str6, 1) = 0 Then
str6 = Right(str5, 1) ' falls mm 1 Then
Select Case str2
Case Is 10 Then
Kill "C:\Documents and Settings\stadter\Desktop\" & Left(ThisWorkbook.Name, Len( _
ThisWorkbook.Name) - 4) & "_" & strDatum & " " & strStunde & " " & strMinute & ".bak"
End If
End Sub
Das makro teste wird beim Speichern aus dem Backup-makro aufgerufen.
Gruß
Chris