alte Dateien löschen

Bild

Betrifft: alte Dateien löschen von: Alex
Geschrieben am: 07.02.2005 10:54:41

Hallo, ich habe mir ein kleines Programm zusammengebastelt, bei dem der Programmablauf in einer Logdatei (txt File) mitgeschrieben wird. Ich hätte jetzt gern in meiner Excel Tabelle ein Makro, welches mir alle Logdateien die älter als x Tage sind löscht. X steht dabei z.B. in Zelle A1. Der Pfad, wo sich die Logdateien befinden steht meinet wegen in B1. Die Dateien sollen unabhängig vom Dateinamen also *.txt gelöscht werden, also Bedingung ist eben nur das Alter.

Wie stelle ich das an? Kann mir einer bitte eine Hilfestellung geben?

Vielen Dank

Gruß

Bild


Betrifft: AW: alte Dateien löschen von: Alex
Geschrieben am: 07.02.2005 12:51:17

Kann mir denn niemand helfen? ;-( Geht das überhaupt mit VBA? Wenn nicht, muss ich eine andere Lösung finden.

Gruß


Bild


Betrifft: AW: alte Dateien löschen von: UweD
Geschrieben am: 07.02.2005 13:32:08

Hallo


so gehts.

Sub killen()
    Dim strPath$, strFile$, strExt$, Darf%, Alter As Date
    strPath = ActiveSheet.Range("B1").Value
    If Right(strPath, 1) <> "\" Then strPath = strPath & "\"
    strExt = "*.txt"       'Dateiextension ggf. anpassen
    Darf = ActiveSheet.Range("A1").Value 'Alter in Tagen
    If strPath = "" Then
        Exit Sub
    Else
        strFile = Dir(strPath & strExt)
        Do While Len(strFile) > 0
            Alter = FileDateTime(strPath & strFile)
            If Date - Alter > Darf Then
                Kill strPath & strFile
            End If
            strFile = Dir() ' nächste Datei
        Loop
    End If
End Sub



Gruß aus Siegen


Bild


Betrifft: AW: alte Dateien löschen von: Alex
Geschrieben am: 07.02.2005 15:56:00

Hallo UweD,

danke dir vielmals. Ich kann das Makro heute leider nicht mehr testen, da ich keine "alten" Logfiles mehr habe. Werd es morgen ausprobieren.

Noch eine Frage zu dem Code, durchsucht er auch die Unterordner? Wenn ich also in Zelle B1 zum Beispiel C:\Temp\ stehen hätte, würde er die alte Textdatei unter C:\Temp\xyz\ auch finden und löschen?

Vielen Dank nochmal.

Gruß aus Berlin zurück.


Bild


Betrifft: ohne Unterverzeichnisse_OT von: UweD
Geschrieben am: 07.02.2005 16:18:26

ot


Bild


Betrifft: AW: alte Dateien löschen von: Alex
Geschrieben am: 07.02.2005 16:20:12

Hallo nochmal, ich hab den Code eben doch mal mit einer anderen Datei getestet, und bekomme folgende Fehlermeldung beim kompelieren:

"Falsche Anzahl an Argumenten oder ungültige Eigenschaftszuweisung!"

dabei wird "Right" in dieser Zeile markiert:

If Right(strPath, 1) <> "\" Then strPath = strPath & "\"

Wo liegt der Fehler?

Gruß

Alex


Bild


Betrifft: AW: alte Dateien löschen von: UweD
Geschrieben am: 08.02.2005 08:00:37

Hallo nochmal.


Kann keinen Fehler feststellen. Bitte noch mal genau die Schreibweise prüfen.

Gruß UweD


Bild


Betrifft: AW: alte Dateien löschen von: Alex
Geschrieben am: 08.02.2005 10:28:08

Hallo UweD,

die Schreibweise muss genauso sein, wie du sie mir gegeben hast, da ich copy & paste gemacht habe. Habs auch nochmal geprüft, ist das gleiche.

Aber sag mal, ist diese Zeile eigentlich so wichtig? So weit ich das verstanden habe sagt sie doch nur aus, dass das Makro "\" setzen soll, falls dies am Ende des Pfades noch nicht steht. Oder? Also den Fall kann ich ausschließen, am Ende steht definitiv immer "\". Kann ich die Zeile einfach raus löschen? Oder muss ich es dann noch irgendwie anpassen?

Gruß

Alex


Bild


Betrifft: AW: alte Dateien löschen von: Alex
Geschrieben am: 08.02.2005 10:44:02

Nachtrag: Ich habe die Zeile testweise gelöscht... Es kommt keine Fehlermeldung mehr, aber das Markro löscht auch nicht die alten Dateien. ;-( Woran liegt es?

Gruß

Alex


Bild


Betrifft: AW: alte Dateien löschen von: Alex
Geschrieben am: 08.02.2005 10:45:21

noch offen


Bild


Betrifft: AW: alte Dateien löschen von: UweD
Geschrieben am: 08.02.2005 11:35:06

Hallo

hast du das Makro in ein "Normales Modul" in eie Normale Datei gepackt oder in die Personl.xls??

Versuch mal den Start aus deiser Datei heraus.
Makro wurde zwischenzeitlich noch was ergänzt.

https://www.herber.de/bbs/user/17618.xls

ansonst versuch es mal mit Einzelschritt.
Vielleicht sind ja keine Dateien älter als x Tage da..

Gruß UweD


Bild


Betrifft: AW: alte Dateien löschen von: Alex
Geschrieben am: 08.02.2005 11:51:25

Hallo,

das Makro liegt in einer normalen Excel Datei, im Modul 10.

Das Makro in der Datei die du mir geschickt hast funktioniert bei mir auch nicht. ;-( Es gibt keine Fehlermeldungen, aber die txt Dateien werden auch nicht gelöscht. Es sind genügend alte Dateien da, habe als "Testordner" C:\Temp\ angegeben und die Zeit auf 1 Tag gestellt. Funktioniert aber nicht. ;-(

Liegt das vielleicht an meiner alten Excel Version? (97)

Vielen vielen Dank für deine Bemühungen.

Gruß

Alex


Bild


Betrifft: AW: alte Dateien löschen von: UweD
Geschrieben am: 08.02.2005 12:11:09

Schein dann an der Excelversion zu liegen.

sorry.


Gruß UweD


Bild


Betrifft: AW: alte Dateien löschen von: Alex
Geschrieben am: 08.02.2005 12:10:56

Hallo,

das Makro liegt in einer normalen Excel Datei, im Modul 10.

In der Beispiel Datei hat es funktioniert, ich habe dann das Makro 1zu1 in meine Mappe kopiert, und da kam wieder in der erwähnten Zeile der gleiche Fehler. ;-( Da die Zeile für mich aber nicht wichtig ist, habe ich sie weider gelöscht. Jetzt funktioniert es einwandfrei.

Ist aber schon komisch, das es in der einen Datei einen Fehler gibt und in der anderen alles funktioniert. Naja M$...

Vielen vielen Dank für deine Bemühungen, hast mir sehr geholfen.

Gruß

Alex


 Bild

Beiträge aus den Excel-Beispielen zum Thema "alte Dateien löschen"