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

Dateien per Klick auf Button löschen

Dateien per Klick auf Button löschen
16.12.2005 11:01:22
Helmut
Hallo liebe Forenmitglieder,
ich habe leider immer noch ein Problem mit dem Löschen von Dateien in einem vordefinierten Verzeichnis.
Ich habe im Verzeichnis E:\ einige Dateien, die ich per Mausklick auf einen Button (in einem Arbeitsblatt erzeugt) löschen will.
Dazu kann man die "kill-Anweisung" benutzen. Ich will aber vorher abfragen, ob die Datei überhaupt vorhanden ist; dann erst soll sie gelöscht werden.
Da ich kaum Kenntnisse habe und von der "kill"-Anweisung auch nur über dieses Forum erfahren habe, wäre ich euch über eine genaue Script-Beschreibung zu der Aufgabe sehr dankbar.
Liebe Grüße,
Helmut

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien per Klick auf Button löschen
16.12.2005 11:04:53
Hajo_Zi
Hallo Helmut,
zum Prüfen Ordner

Option Explicit
Sub Vorhanden_Datei()
'   Fehler falls LW nicht vorhanden
If Dir("D:\Eigene Dateien\Hajo\Adresse1.xls") <> "" Then
MsgBox "vorhanden"
Else
MsgBox "nicht vorhanden"
End If
End Sub
Sub Vorhanden_Phad()
'   Fehler falls LW nicht vorhanden
If Dir("C:\Eigene Dateien\") <> "" Then
MsgBox "vorhanden"
Else
MkDir "C:\Eigene Dateien\\"
MsgBox "nicht vorhanden"
End If
End Sub
Sub Ordner_vorhanden()
'   von Berti Koern
Dim Fso, Ordnername
Set Fso = CreateObject("Scripting.FileSystemObject")
Ordnername = "C:\Eigene Dateien\"
'    MsgBox Fso.FolderExists(Ordnername)
If Fso.FolderExists(Ordnername) = False Then MkDir "C:\Eigene Dateien\"
End Sub
Sub Datei_vorhanden()
'   von Berti Koern
Dim Fso, Dateiname
Set Fso = CreateObject("Scripting.FileSystemObject")
Dateiname = "D:\Eigene Dateien\Hajo\Adresse.xls"
'   Egänzung öffnung Hajo
If Fso.FileExists(Dateiname) Then
Workbooks.Open Dateiname
End If
End Sub



Anzeige
AW: Dateien per Klick auf Button löschen
16.12.2005 11:09:24
MichaV
Hallo,
warum willst Du vorher fragen? Um Fehler zu vermeiden oder um eine Benutzerbestätigung einzuholen?
Würde es so schon reichen: ?

Sub test()
Kill "d:\Micha\Excel\tmp\*.*"
End Sub

Gruß- Micha
PS: Rückmeldung wäre nett.
AW: Dateien per Klick auf Button löschen
16.12.2005 11:40:36
Helmut
Hallo Micha,
ich muss leider abfragen, weil sich in diesem Ordner auch xml-Files von anderen Personen befinden, die ich keinesfalls löschen darf.
Liebe Grüße,
Helmut
AW: Dateien per Klick auf Button löschen
16.12.2005 13:45:49
MichaV
Hallo Helmut,
also das kann man auf vielen Wegen lösen, Du musst mal genau sagen, wie Du Dir das vorstellst:
a) alle Dateien außer xml- Dateien löschen
b) bei jeder Datei eine Meldung "Wollen sie die Datei bla.bla löschen?" - Ja - Nein -
c) nur bestimmte Dateien löschen, deren Namen Dir bekannt ist
d) eine Kombination aus a,b, und c
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Dateien per Klick auf Button löschen
16.12.2005 14:15:52
Helmut
Hallo Micha,
also es ist in deiner Aufstellung der Punkt c) !!
Mir sind die Namen bekannt, bzw. alle möglichen Endungen vor der Dateiendung xml.
Sind die Dateien nicht vorhanden, was sein kann, dann sollte kein Laufzeitfehler kommen.
Die Dateien sind exakt:
Material_DU_BG_exp.xml
Material_DU_BG_imp.xml
Material_DU_ET_exp.xml
Material_DU_ET_imp.xml
Material_DO_ET_exp.xml
Material_DO_ET_imp.xml
Klass_DU_BG_exp.xml
Klass_DU_BG_imp.xml
Klass_DU_ET_exp.xml
Klass_DU_ET_imp.xml
Klass_DO_ET_exp.xml
Klass_DO_ET_imp.xml
Stueckliste_DU_ET_exp.xml
Stueckliste_DU_ET_imp.xml
Stueckliste_DU_BG_exp.xml
Stueckliste_DU_BG_imp.xml
Stueckliste_DO_ET_exp.xml
Stueckliste_DO_ET_imp.xml
Masse_DU_exp.xml
Masse_DU_imp.xml
Masse_DO_exp.xml
Masse_DO_imp.xml
Masse_DU_BG_exp.xml
Masse_DU_BG_imp.xml
Arbplan_DU_exp.xml
Arbplan_DU_imp.xml
Das heißt, ein gewisser Teil der Dateiendungen inklusive ".xml" ist gleich.
Wie gesagt, es kann aber sein, dass ein paar dieser Dateien gar nicht im Verzeichnis sind, aber in jedem Fall sind es maximal die oben stehenden Dateien.
Liebe Grüße,
Helmut
Anzeige
AW: Dateien per Klick auf Button löschen
16.12.2005 14:49:48
MichaV
Hallo,
das sind max. 10 Zeilen Code. Aber nun geh ich zur Weihnachtsfeier meiner Tochter(2), das geht vor ;o)
Ich stell mal auf "offen" und wenn bis 20:00 Uhr keine Lösung da ist, geb ich sie Dir.
Gruß- Micha
AW: Dateien per Klick auf Button löschen
16.12.2005 20:01:30
MichaV
Hallo,
das hier ist eine mögliche Lösung:


      
Option Explicit
Sub Löschen()
Dim strVorlage As String
Dim strLöschen As String
Dim strDatei As String
'Dein Pfad, in dem die Dateien liegen
Const strPfad = "E:\"
'Deine Dateien ohne "_exp.xml" und "_imp.xml", mit "#" am Ende!
strVorlage = "Material_DU_BG#" & _
             "Material_DU_ET#" & _
             "Material_DO_ET#" & _
             "Klass_DU_BG#" & _
             "Klass_DU_ET#" & _
             "Klass_DO_ET#" & _
             "Stueckliste_DU_ET#" & _
             "Stueckliste_DU_BG#" & _
             "Stueckliste_DO_ET#" & _
             "Masse_DU#" & _
             "Masse_DO#" & _
             "Masse_DU_BG#" & _
             "Arbplan_DU#"
'Einen String zusammenbauen, der alle Dateinamen enthält nach dem Muster
'"#Material_DU_BG_exp.xml#Material_DU_ET_exp.xml# .... #Material_DU_BG_imp.xml#....#
strLöschen = "#" & Replace(strVorlage, "#", "_exp.xml#") & Replace(strVorlage, "#", "_imp.xml#")
'Debug.Print strLöschen 'zum gucken, wie der String aussieht

'erste Datei aus Verzeichnis ermitteln
strDatei = Dir(strPfad)
'und so lange, bis alle Dateien ermittelt wurden
Do Until strDatei = ""
  
'Wenn "#Dateiname#" im Dateinamen- String vorhanden, dann Datei löschen
  If InStr(strLöschen, "#" & strDatei & "#") > 1 Then Kill strPfad & strDatei
  
'nächste Datei ermitteln
  strDatei = Dir
Loop
End Sub 


Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Dateien per Klick auf Button löschen
17.12.2005 09:17:27
Helmut
Hallo Micha,
ich danke dir recht herzlich!! Es klappt! Du hast mir sehr viel weitergeholfen damit. Finde ich echt toll von dir! Nochmals herzlichen Dank!
(Ich hoffe die Kinderfeier war recht schön!)
Schönes Wochenende und liebe Grüße,
Helmut
Danke für die Rückmeldung! mT
17.12.2005 23:31:23
MichaV
Hallo Helmut,
bitte, das hab ich gern gemacht. Leuten wie Dir, die nett fragen und die vor dem Fragen auch nachdenken wird gerne geholfen.
Gruß- Micha

43 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige