Ich habe vor einiger Zeit eine Lösung bekommen, wie ich in einem definierten Bereich, Partition (Laufwerksbuchstabe Q) direkt sich darunter befindente Dateien (genaue Bezeichnungen sind bekannt) per Mausklick in einem Exelfile auf einen Button löschen kann.
Die Dateien in der Partition Q: enden immer mit _exp.xml und _imp.xml
Hier der Script:
Private Sub CommandButton9_Click()
Dim strVorlage As String
Dim strLöschen As String
Dim strDatei As String
'Pfad, in dem die Dateien liegen
Const strPfad = "Q:\"
'Dateien ohne "_exp.xml" und "_imp.xml", mit "#" am Ende
strVorlage = "M_DU_BG#" & _
"M_DU_ET#" & _
"M_DO_ET#" & _
"K_DU_BG#" & _
"K_DU_ET#" & _
"K_DO_ET#" & _
"S_DU_ET#" & _
"S_DU_BG#" & _
"S_DO_ET#" & _
"Ma_DU#" & _
"Ma_DO#" & _
"Ma_DU_BG#" & _
"A_DO#" & _
"A_DU#"
'String, der alle Dateinamen enthält nach dem Muster:
'"#M_DU_BG_exp.xml#M_DU_ET_exp.xml# .... #M_DU_BG_imp.xml#....#
strLöschen = "#" & Replace(strVorlage, "#", "_exp.xml#") & Replace(strVorlage, "#", "_imp.xml#")
'Erste Datei aus Verzeichnis ermitteln
strDatei = Dir(strPfad)
'so lange, bis alle Dateien ermittelt wurden
Do Until strDatei = ""
'Wenn "#Dateiname#" im Dateinamen- String vorhanden ist, dann die Datei löschen
If InStr(strLöschen, "#" & strDatei & "#") > 1 Then Kill strPfad & strDatei
'und nächste Datei ermitteln
strDatei = Dir
Loop
End Sub
Das Problem ist, dass die erste Datei in der oberen Aufzählung, also die mit dem Namen
M_DU_BG_exp.xml
mit dem Mausklick auf den Button nicht gelöscht wird und leider immer übrig bleibt.
Kann mir hier jemand weiterhelfen, warum das so ist und wie der Script abzuändern ist, dass auch diese eine Datei gelöscht wird?
Danke im Voraus,
Helmut