AW: VBA-Löschen von Excel-Dateien mit bestimmtem Namen
04.09.2019 09:24:57
Excel-Dateien
Hallo BR
wenn JJMMTT für eine Ziffernfolge steht, die ein Dateim ist, dann geht es etwa wie folgt per Makro.
LG
Franz
Sub Kill_Dateien_mit_JJMMDD()
Dim varPfad, strDatei As String, strDatum As String, str6 As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Bitte Verzeichnis mit den zu löschenden Dateien auswählen"
If .Show = -1 Then
varPfad = .SelectedItems(1)
Else
Exit Sub
End If
If MsgBox("Alle Dateien mit JJMMTT im gewählten Verzeichnis" & vbLf & vbLf _
& varPfad & vbLf & vbLf _
& "löschen?", _
vbQuestion + vbOKCancel, "Dateien löschen") = vbCancel Then Exit Sub
strDatei = Dir(varPfad & "\*.xlsx", vbNormal)
Do Until strDatei = ""
str6 = Left(strDatei, 6)
'Prüfen, ob alle 6 Zeichen Ziffern sind
If str6 Like "######" Then
'Ziffernfolge in Datums-Text umwandeln
strDatum = Right(str6, 2) & "." & Mid(str6, 3, 2) & "." & Left(str6, 2)
'oder besser wenn alle Datumswerte nach 31.12.1999 liegen
' strDatum = "20" & Left(str6, 2) & "-" & Mid(str6, 3, 2) & "-" & Right(str6, 2)
If IsDate(strDatum) Then
VBA.Kill (varPfad & "\" & strDatei)
End If
End If
strDatei = Dir
Loop
End With
End Sub