Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
504to508
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
504to508
504to508
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ältere Sicherungsdateien löschen

Ältere Sicherungsdateien löschen
21.10.2004 02:35:40
Georg
Hallo Excel Gemeinde
Ich möchte mittels VBA von meiner Excell Datei Sicherungskopien mit dem Zusatz Datum/Uhrzeit wie Dateiname_TTMMJJMMSS.xls in einem vorbestimmten Verzeichniss erstellen.
Ist es möglich, dass man nach 3 Sicherungsdateien die danach ältere (also quasi viert-letzte) Sicherungsdatei erkennt und wieder löscht so das jeweils nur 3 Sicherungskopien vorhanden sind?
Danke im vorraus,
Georg Kieswimmer
Version: WinXP Professionel; Office XP

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

Betreff
Datum
Anwender
Anzeige
AW: Ältere Sicherungsdateien löschen
21.10.2004 09:49:27
Nepumuk
Hallo Georg,
Ein Beispiel:


Option Explicit
Public Sub sichern()
    Dim intIndex As Integer
    Dim strPath As String, strArray(1 To 3, 1 To 2) As String
    Dim myFileSystemObject As Object, myFile  As Object
    Set myFileSystemObject = CreateObject("Scripting.FileSystemObject")
    strPath = "D:\Eigene Dateien\Eigene Tabellen\Sicherung\"
    If Not myFileSystemObject.FolderExists(strPath) Then myFileSystemObject.CreateFolder (strPath)
    For Each myFile In myFileSystemObject.GetFolder(strPath).Files
        intIndex = intIndex + 1
        strArray(intIndex, 1) = CStr(Year(myFile.DateCreated) & Format(Month(myFile.DateCreated), "00") & Format(Day(myFile.DateCreated), "00") & Format(myFile.DateCreated, "hhmmss"))
        strArray(intIndex, 2) = myFile.Path
    Next
    If intIndex = 3 Then
        Call sortieren(1, 3, strArray)
        Kill strArray(1, 2)
    End If
    ThisWorkbook.SaveCopyAs strPath & ThisWorkbook.Name & "_" & Format(Now, "ddmmyyhhmmss") & ".xls"
    Set myFileSystemObject = Nothing
End Sub
Private Sub sortieren(intUbound As Integer, intObound As Integer, strArray() As String)
    Dim intIndex1 As Integer, intIndex2 As Integer
    Dim strTemp1 As String, strTemp2 As String, strTemp3 As String
    intIndex1 = intUbound
    intIndex2 = intObound
    strTemp3 = strArray(Fix(intUbound + intObound) / 2, 1)
    Do
        Do While strArray(intIndex1, 1) < strTemp3
            intIndex1 = intIndex1 + 1
        Loop
        Do While strTemp3 < strArray(intIndex2, 1)
            intIndex2 = intIndex2 - 1
        Loop
        If intIndex1 <= intIndex2 Then
            strTemp1 = strArray(intIndex1, 1)
            strTemp2 = strArray(intIndex1, 2)
            strArray(intIndex1, 1) = strArray(intIndex2, 1)
            strArray(intIndex1, 2) = strArray(intIndex2, 2)
            strArray(intIndex2, 1) = strTemp1
            strArray(intIndex2, 2) = strTemp2
            intIndex1 = intIndex1 + 1
            intIndex2 = intIndex2 - 1
        End If
    Loop Until intIndex1 > intIndex2
    If intUbound < intIndex2 Then Call sortieren(intUbound, intIndex2, strArray)
    If intIndex1 < intObound Then Call sortieren(intIndex1, intObound, strArray)
End Sub


Gruß
Nepumuk
Anzeige
AW: Ältere Sicherungsdateien löschen
21.10.2004 10:14:23
Georg
Hallo Nepumuk
Vielen Dank für Deine Hilfe, werd's gleich auspobieren.
Gruß
Georg
AW: Ältere Sicherungsdateien löschen
21.10.2004 23:51:42
Georg
Hallo Nepumuk
Einfach traumhaft diese Routine. Nochmals besten Dank für die Hilfe
Gruß Georg

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige