Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
232to236
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
232to236
232to236
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateien löschen

Dateien löschen
19.03.2003 08:10:01
Julia
Liebes Forum,
hier werden von mehreren Usern auf einem stets gleichbleibenden Netzwerkverzeichnis viele viele *.xls Dateien abgelegt. Meine Frage: Diese werden nach ca 30 Tagen nicht mehr benötigt und müssen manuell gelöscht werden. Kann dies durch ein VBA Makro übernommen werden? Wenn ja, wie würde denn der Code aussehen?
vielen Dank im voraus
Jule



14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Dateien löschen
19.03.2003 08:33:21
Andi_H

Hallo Julia,
folgender Code löscht alle Dateien im Verzeichnis
Sub dateien_loeschen()
Dim Tabelle As Worksheet
Dim i As Long
'Verzeichnis ändern
Const verz = "c:\Eigene Dateien\"

On Error GoTo fehler
ChDir verz
With Application.FileSearch
.NewSearch
.LookIn = verz
.SearchSubFolders = False
.FileType = msoFileTypeExcelWorkbooks
.Execute
For i = 1 To .FoundFiles.Count
Kill .FoundFiles(i)
Next i
End With
Exit Sub

fehler:
MsgBox "Es gibt kein Verzeichnis mit dem Namen " & verz
End Sub

gruß,
Andi

Re: Dateien löschen
19.03.2003 08:45:44
Julia

Hallo Andi,
danke für den Code........aber: ich hab mich nicht klar genug ausgedrückt.....nur die Dateien löschen, die älter als 30 Tage sind, d.h. fortlaufend zählen. So Richtung: Heute - 30 dann löschen, sonst nicht. Aber trotzdem lieben Dank. Jule


Anzeige
Re: Dateien löschen
19.03.2003 09:14:22
Andi_H

hi jule,

kleine ergänzung im code dann läuft des:
Sub dateien_loeschen()
Dim Tabelle As Worksheet
Dim i As Long
'verz ändern!!!!
Const verz = "c:\Eigene Dateien"
On Error GoTo fehler
ChDir verz
With Application.FileSearch
.NewSearch
.LookIn = verz
.SearchSubFolders = False
.FileType = msoFileTypeExcelWorkbooks
' hier die Änderung
.LastModified = msoLastModifiedLastMonth
' des wars
.Execute
For i = 1 To .FoundFiles.Count
Kill .FoundFiles(i)
Next i
End With
Exit Sub

fehler:
MsgBox "Es gibt kein Verzeichnis mit dem Namen " & verz
End Sub



Anzeige
noch was
19.03.2003 09:19:47
Andi_H

dieses Makro löscht alle Makros die zum letzten mal im Vormonat benutzt wurden. Aufpassen bei Monatswechsel, ansonsten sollte es genau das bewirken was du wolltest.

gruß,

Andi

Frage zum selben Thema
19.03.2003 09:29:15
Gerhard S.

Hallo,
ich hab das gleiche Problem, nur das das Datum im Dateinamen steht, und der Name immer mit dem aktuellen Datum verbunden ist. Wie kann ich aber dann ältere Dateien löschen??

mfg

Gerhard S.

Re: Frage zum selben Thema
19.03.2003 09:59:48
Andi_H

hallo gerhard,

diese Makro löscht alle xls-dateien welche zum letzten mal im Vormonat bearbetet wurden, egal wie alt diese sind.
Reicht dir das?

gruß,

andi

Details
19.03.2003 10:11:10
Gerhard S.

Hallo,
mit dem nachfolgenden Makro speichere ich die Datei, wo das Datum im Dateinamen vorkommt. Da ich mehrere *.XLS Dateien in dem Verzeichnis habe, und auch gerne behalten möchte, müsste nur immer die letzte Datei gelöscht werden. Im Idealfall sollte sogar die geöffnete Datei überschrieben, und mit dem neuen Namen(Datum) gespeichert werden, das ist aber, glaube ich nicht möglich.

mfg

Gerhard S.




Anzeige
Re: Details
19.03.2003 10:36:26
Andi_H

Hallo Gerhard,

verzeichnis anpassen und dann dürfts gehen
Sub dateien_loeschen()
Dim Tabelle As Worksheet
Dim i As Long
Dim sfile As String
'verz ändern!!!!
Const verz = "c:\eigene dateien"
With Application.FileSearch
.NewSearch
.LookIn = verz
.SearchSubFolders = False
.FileType = msoFileTypeExcelWorkbooks
.Execute
For i = 1 To .FoundFiles.Count
sfile = .FoundFiles(i)
If sfile <= "MEBP-" & Format(Date - 30, "DD.MM.YYYY") Then
Kill .FoundFiles(i)
End If
Next i
End With
Exit Sub

End Sub

fehler
19.03.2003 10:49:51
Andi_H

hallo Gerhard,

hab mir meinen Code nochmal angeguckt und noch was besseres gefunden:
Sub dateien_loeschen()
Dim Tabelle As Worksheet
Dim i As Long
Dim sfile As String
'verz ändern!!!!
Const verz = "c:\eigene dateien"
With Application.FileSearch
.NewSearch
.LookIn = verz
.SearchSubFolders = False
.FileType = msoFileTypeExcelWorkbooks
.LastModified = msoLastModifiedLastMonth
.Execute
For i = 1 To .FoundFiles.Count
sfile = .FoundFiles(i)
If sfile <= "MEBP-" & Format(Date, "DD.MM.YYYY") Then
Kill .FoundFiles(i)
End If
Next i
End With
Exit Sub

End Sub

hoffe des läuft bei dir, mit o97 gehts,

gruß,

Andi

Anzeige
Ja, aber...
19.03.2003 10:56:05
Gerhard S.

Hallo,
diese Lösung ist super, und auch superschnell eingetroffen, Vielen Dank dafür.
Aber beim ausführen springt Excel in den Debug-Modus und bringt mir als Fehlermeldung:

Laufzeitfehler 70
Zugriff verweigert

Das kommt aber wahrscheinlich daher, da die aktuelle Datei ja gerade offen ist. Diese Datei allerdings dürfte nicht gelöscht werden. Kann man da den aktuellen Tag ausschliessen?? Als Zusatzwunsch, hätte ich auch gerne eine Abfrage in einer MSG-Box, für ganz übereifrige Finger....

mfg

Gerhard S.

Läuft nicht
19.03.2003 11:01:59
Gerhard S.

Hallo,
dieser Code läuft leider nicht, er macht gar nichts...

mfg

Gerhard S.

Anzeige
Re: Dateien löschen
19.03.2003 11:25:01
Julia

Hi Andy,

danke vielmals, es funktioniert! Super.
Lieben Gruss
Jule

Dateien gelöscht!!
19.03.2003 11:31:12
Gerhard S.

Hallo,
der Code hat leider alle meine *.XLS Dateien gelöscht...

Gerhard S.

Re: Läuft nicht
19.03.2003 12:37:15
Andi_H

sorry,
dann kann ich nicht weiterhelfen, unter o97 gehts und bis version 10 bin ich noch nicht vorgedrungen, hoffe du findest andersweitig hilfe,

grüße

Andi_H

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige