Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel VBA: Dateien löschen
#1
Hallo zusammen,

ich möchte Euch fragen ob es eine Möglichkeit gibt aus einer Tabelle heraus, in der Dateien aus Verzeichnissen aufgelistet sind, diese Dateien durch Auswählen (auch Mehrfachauswahl) der entsprechenden Zellen, dann zu löschen. Die Dateinamen liegen mehrfach/identisch vor ....aber mit unterschiedlichen Formaten (z.B. txt, jpg...usw)
Dateien mit bestimmten "ext" benötige ich nicht und will diese komfortabel löschen.

Die Tabelle ist wie folgt aufgebaut:
Datei ext Pfad Größe

Meine Idee ist nun die Datei-ext zu markieren und die Datei dann per VBA zu löschen. Es sollte möglich sein mehrere "ext" auszuwählen und die entsprechenden Dateien in einem Aufwasch zu löschen.

Vielleicht hat mir jemand ein Code-Schnippsel für diese Aufgabe.

Vielen Dank!
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antwortento top
#2
Hallo,

wenn man aus den Spalten den richtigen Windows- Pfad & Dateinamen zusammensetzt, löscht der vba-Befehl "kill" die Datei.

mfg
Antwortento top
#3
Hallöchen,

mit dem Code könntest Du mehrere Dateien in einem Rutsch löschen. Ich habe allerdings nicht die selektierten Zellen genommen, sondern filtere die Liste nach den Extentions und lösche dann die sichtbaren Zellen - beachte - ohne Nachfrage! Daher vorher eine Sicherheitskopie anlegen!
Code:
Sub DateienLoeschen()
'----------------------------------
'Achtung! Loeschen ohne Nachfrage!!
'----------------------------------
'Variablendeklarationen
'Long
Dim iCnt&
'Startzeile = 2
iCnt = 2
'Schleife, solange etwas in der Zelle steht
Do While Cells(iCnt, 1).Value <> ""
  'Loeschen der Datei, wenn sie vorhanden ist und die Zelle mit dem Eintrag sichtbar ist
  If Dir(Cells(iCnt, 1).Value) <> "" And Rows(iCnt).EntireRow.Hidden = False Then Kill Cells(iCnt, 1).Value
  'Schleifenzaehler hochsetzen
  iCnt = iCnt + 1
'Ende Schleife, solange etwas in der Zelle steht
Loop
End Sub

Meine nach pdf gefilterte Liste sieht z.B. so aus. G:\Alpha.pdf wurde bei mir nicht gelöscht. Das ist ein "provozierter" Fehler, die richtige Angabe wäre G:\Alfa.pdf.
Arbeitsblatt mit dem Namen 'Tabelle1'
 AB
1DateiExt
2G:\Alpha.pdfpdf
4G:\Beta.pdfpdf
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
[-] Folgende(r) 1 Benutzer sagt Danke an schauan für diesen Beitrag:
  • sharky51
Antwortento top
#4
(25.05.2016, 16:43)schauan schrieb: mit dem Code könntest Du mehrere Dateien in einem Rutsch löschen.

Super, vielen Dank werde es morgen mal testen.
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste