Ich versuche, alle Dateien in einem Ordner zu löschen, die heute nicht gespeichert wurden.Löschen Sie alle Dateien in einem Ordner, die nicht heute in VBA gespeichert wurden
Der Ordner wird nur .csv
und .txt
Dateitypen, so habe ich meinen Code nur jene Arten zu löschen. Gibt es eine Möglichkeit, jeden Dateityp zu löschen?
Dies ist der Code, dass ich jetzt haben:
Sub delete()
Dim MyFolder As String
Dim MyFileTxt As String
Dim MyFileCSV As String
MyFolder = "C:\Users\Desktop\pdf_converter_test"
MyFileTxt = Dir(MyFolder & "\*.txt")
MyFileCSV = Dir(MyFolder & "\*.csv")
Do While FileDateTime(MyFolder & MyFileTxt) <> Date
On Error Resume Next
If FileDateTime(MyFolder & MyFileTxt) <> Date Then
Kill MyFolder & MyFileTxt
MyFileTxt = Dir
End If
Loop
Do While FileDateTime(MyFolder & MyCSV) <> Date
On Error Resume Next
If FileDateTime(MyFolder & MyFileCSV) <> Date Then
Kill MyFolder & MyFileCSV
MyFileCSV = Dir
End If
Loop
End Sub
Die Schleife für immer zu gehen scheint, so gibt es ein Problem mit dem Do While Zustand. Aber es löscht auch nicht die Dateien, die ich möchte.
Jede Hilfe würde sehr geschätzt werden. Vielen Dank.
Sie können 2 "Instanzen" von 'Dir' nicht so behalten. – Comintern
Ihre Frage wurde beantwortet, aber ich rate Ihnen immer noch nie 'On Error resume next' zu verwenden, wie in einem' Do While' ... Wenn Sie jemals einen Fehler bekommen, überspringen Sie ihn einfach und die Schleife wird ausgeführt für immer, immer den Fehler überspringend. Sehr schlechte Idee. Du brauchst eine Art Exit-Mechanismus. –