AW: externe Dateien löschen !!!
Uduuh
Hallo,
dieser Code tut's. ACHTUNG!:Brandgefährlich. Es erfolgt keine Rückfrage. Es wird sofort gelöscht, nicht in den Papierkorb geschoben.
Diesen Code in ein Modul kopieren:
Sub Bilder_loeschen()
'Die Bildnamen müssen in einer Tabelle mit Namen "Bilder" in Spalte A stehen.
'Bildnamen ohne Pfadangabe, z.B. Test.jpg _
Wenn die Bildnamen mit komplettem Pfad angegeben sind, einfach die Zuweisung _
der Variablen strName ändern: strName=.FoundFiles(i)
'Diese Datei muss im gleichen Ordner wie die Bilder stehen.
'Unterordner werden nicht durchsucht.
Dim wshBilder As Worksheet, _
strOrdner As String, _
strName As String, _
FS As FileSearch, _
i As Integer, _
n As Integer, _
bolGebraucht As Boolean
Application.ScreenUpdating = False
Set wshBilder = Worksheets("Bilder") 'Tabelle mit Bildnamen
strOrdner = ThisWorkbook.Path
Set FS = Application.FileSearch
'Dateien suchen
With FS
.LookIn = strOrdner
.Filename = "*.jpg" 'Dateityp jpg
.SearchSubFolders = False 'keine Unterordner durchsuchen
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
bolGebraucht = False
strName = Right(.FoundFiles(i), Len(.FoundFiles(i)) - Len(strOrdner) - 1)
'gefundene Datei mit Liste vergleichen
For n = 1 To wshBilder.Range("A65536").End(xlUp).Row
If UCase(wshBilder.Cells(n, 1)) = UCase(strName) Then
bolGebraucht = True 'Datei steht in Liste
Exit For
End If
Next n
'Wenn Datei nicht in Liste, dann löschen
If bolGebraucht = False Then
Kill .FoundFiles(i)
End If
Next i
End If
End With
Application.ScreenUpdating = True
End Sub
Gruß aus'm Pott
Udo