Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
728to732
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
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateien mit Kick auf Button löschen

Dateien mit Kick auf Button löschen
Helmut
Liebe Forenmitglieder!
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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dateien mit Kick auf Button löschen
13.02.2006 15:38:42
u_
Hallo,
warum so kompliziert?
Kill "c:\*_imp.xlm bzw.
Kill "c:\*_exp.xml"
sollte ausreichen um alle Dateien zu löschen.
Gruß
Geist ist geil!
AW: Dateien mit Kick auf Button löschen
13.02.2006 16:29:08
Helmut
hallo u_,
das kann ich nicht machen. habe leider vergessen zu schreiben, dass im Bereich Q: auch andere xml-dateien stehen, die nicht gelöscht werden dürfen.
luschi hat aber die lösung parat gehabt. ich danke auch dir recht schön.
liebe grüße,
helmut
AW: Dateien mit Kick auf Button löschen
13.02.2006 15:41:57
Luschi
Hallo Helmut,
der Fehler liegt in folgender Zeile:
If InStr(strLöschen, "#" & strDatei & "#") &gt 1 Then Kill strPfad & strDatei
ändere sie ab in:
If InStr(strLöschen, "#" & strDatei & "#") &gt 0 Then Kill strPfad & strDatei 'oder
If InStr(strLöschen, "#" & strDatei & "#") &gt= 1 Then Kill strPfad & strDatei
Für ""#M_DU_BG_exp.xml" liefert die Instr-Funktion den gefundenen Positions-Wert 1.
Du willst Dateien aber nur Löschen, die den Positions-Wert großer 1 haben.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Dateien mit Kick auf Button löschen
13.02.2006 16:26:50
Helmut
hallo luschi,
super!! ich danke dir recht schön!! hast mir sehr geholfen!
liebe grüße,
helmut

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige