Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1708to1712
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
Inhaltsverzeichnis

VBA-Löschen von Excel-Dateien mit bestimmtem Namen

VBA-Löschen von Excel-Dateien mit bestimmtem Namen
04.09.2019 08:29:09
Excel-Dateien
Guten Morgen,
mal die Frage in die Runde, ob jemand hierfür fix eine Lösung hätte. Wäre wirklich super. :-)
Ich möchte im Verzeichnis: "C:\Excel\Test" alle Dateien löschen, welche im Namen mit "JJMMTT" beginnen.
Dies sind alles .xlsx-Dateien, jedoch sind diese nach der Bezeichnung "JJMMTT" unterschiedlich benannt.
Wie kann ich auf unkomplizierte Weise mit VBA alle o.g. Dateien ohne Nachfrage "eliminieren" ? Ich weiß, dass dafür wohl der Kill-Befehl ausschlaggebend ist, jedoch bekomm ich nur einzelne Dateien damit gelöscht. ;-)
Viele Grüße und schonmal Danke für die Hilfe !

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW:
04.09.2019 08:48:03
Fennek
Hallo,
wenn "JJMMTT" nicht als Platzhalter für ein Datum zu verstehen ist, sollte im CMD gehen

c:\Excel\Test>del JJMMTT*.xlsx
Bei Bedarf kann das auch aus VBA gestartet werden.
mfg
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

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige