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

alte Dateien löschen

alte Dateien löschen
07.02.2005 10:54:41
Alex
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ß

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: alte Dateien löschen
Alex
Kann mir denn niemand helfen? ;-( Geht das überhaupt mit VBA? Wenn nicht, muss ich eine andere Lösung finden.
Gruß
AW: alte Dateien löschen
UweD
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
Anzeige
AW: alte Dateien löschen
Alex
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.
ohne Unterverzeichnisse_OT
UweD
ot
AW: alte Dateien löschen
Alex
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
Anzeige
AW: alte Dateien löschen
UweD
Hallo nochmal.
Kann keinen Fehler feststellen. Bitte noch mal genau die Schreibweise prüfen.
Gruß UweD
AW: alte Dateien löschen
Alex
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
Anzeige
AW: alte Dateien löschen
Alex
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
AW: alte Dateien löschen
Alex
noch offen
AW: alte Dateien löschen
UweD
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
Anzeige
AW: alte Dateien löschen
Alex
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
AW: alte Dateien löschen
UweD
Schein dann an der Excelversion zu liegen.
sorry.
Gruß UweD
AW: alte Dateien löschen
Alex
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
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige