Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Ordner per VBA löschen

Ordner per VBA löschen
Ximena
Hallo Leute
Ich hab da mal ne Frage. Und zwar erstelle ich mithilfe einer Makro eine Ordner mit dem Namen "SLRReports". Der Pfad zum Ordner sieht so aus: "H:\SLRReports\"
Okay, ich speichere dort Dateien und Bilder rein und am Ende will ich aber den Ordner "SLRReports" wieder löschen. Dazu habe ich im Internet folgendes gefunden:
Kill "H:\SLRReports\*.*"
Jetzt wollte ich fragen, ob das dann wirklich den Ordner mit dem ganzen Inhalt löscht?! Warum ich es nicht ausprobieren will ist, weil ich nicht sicher bin, ob es mir dann das "H" löscht?! Oder geht das gar nicht?
Wäre froh um Erklärungen und Hilfe :D
Liebe Grüsse
Ximena
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Angsthase
01.06.2012 12:05:14
Rudi
Hallo,
die Anweisung lösch alle Dateien aus dem Ordner. Nicht den Ordner selbst.
Kill "H:\SLRReports\*.*" 'Dateien löschen
RmDir "h:\SLRReports" 'Ordner löschen
Gruß
Rudi
AW: Angsthase
01.06.2012 13:18:43
guentherh
und ausserdem gehören Ordner mit temporären Dateien nach %temp%
Gruß,
Günther
Danke!
01.06.2012 13:32:52
Ximena
Hallo ihr beiden.
Danke für eure Erklärung! Lieber einmal mehr Angsthase als kein Verzeichnis mehr :D
Liebe Grüsse
Ximena
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Ordner per VBA löschen


Schritt-für-Schritt-Anleitung

Um einen Ordner per VBA zu löschen, kannst du folgende Schritte befolgen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" > Einfügen > Modul.

  3. Gib den folgenden Code ein, um die Dateien im Ordner zu löschen und anschließend den Ordner selbst:

    Sub OrdnerLoeschen()
       On Error Resume Next
       ' Zuerst alle Dateien im Ordner löschen
       Kill "H:\SLRReports\*.*" ' Dateien löschen
       ' Dann den Ordner löschen
       RmDir "H:\SLRReports" ' Ordner löschen
       On Error GoTo 0
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus: Drücke ALT + F8, wähle "OrdnerLoeschen" und klicke auf "Ausführen".

Dieser Prozess wird den Ordner "SLRReports" samt Inhalt löschen. Achte darauf, dass du die richtige Pfadangabe verwendest, um das versehentliche Löschen wichtiger Daten zu vermeiden.


Häufige Fehler und Lösungen

  • Fehler: "Zugriff verweigert"

    • Lösung: Stelle sicher, dass der Ordner nicht geöffnet oder von einer anderen Anwendung verwendet wird.
  • Fehler: "Verzeichnis nicht gefunden"

    • Lösung: Überprüfe den Pfad und stelle sicher, dass der Ordner tatsächlich existiert.
  • Problem: Der Ordner wird nicht gelöscht.

    • Lösung: Verwende On Error Resume Next, um Fehler zu ignorieren und sicherzustellen, dass der Code weiterhin ausgeführt wird.

Alternative Methoden

Wenn du VBA nicht verwenden möchtest, kannst du auch andere Methoden zum Löschen von Ordnern in Betracht ziehen:

  1. Manuelles Löschen: Navigiere zu dem Ordner im Windows Explorer, klicke mit der rechten Maustaste und wähle "Löschen".

  2. Batch-Skripte: Erstelle ein einfaches Batch-Skript (.bat), um den Ordner zu löschen:

    @echo off
    rmdir /s /q "H:\SLRReports"
  3. VB.NET: Wenn du mit VB.NET vertraut bist, kannst du den folgenden Code verwenden:

    System.IO.Directory.Delete("H:\SLRReports", True)

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die VBA-Methoden zum Löschen von Ordnern verwenden kannst:

  • Einen Ordner mit temporären Dateien löschen:

    Sub TempOrdnerLoeschen()
       On Error Resume Next
       Kill "C:\Users\DeinBenutzername\AppData\Local\Temp\*.*"
       RmDir "C:\Users\DeinBenutzername\AppData\Local\Temp"
       On Error GoTo 0
    End Sub
  • Einen Ordner erstellen und dann löschen:

    Sub OrdnerErstellenUndLoeschen()
       MkDir "H:\NeuerOrdner"
       ' Füge hier Code zum Arbeiten mit dem Ordner hinzu
       RmDir "H:\NeuerOrdner"
    End Sub

Tipps für Profis

  • Verwende On Error GoTo für bessere Fehlerbehandlung: Anstatt On Error Resume Next zu verwenden, kannst du spezifische Fehlerbehandlungsroutinen einbauen, um genau zu wissen, was schiefgelaufen ist.

  • Testen in einer sicheren Umgebung: Experimentiere mit dem Löschen von Ordnern in einer Testumgebung, um unbeabsichtigtes Löschen wichtiger Daten zu vermeiden.

  • Verwendung von FileSystemObject: Für komplexere Dateiverwaltung kannst du das FileSystemObject verwenden, um mehr Kontrolle über das Löschen von Dateien und Ordnern zu haben.


FAQ: Häufige Fragen

1. Löscht Kill auch den Ordner selbst? Nein, Kill entfernt nur die Dateien im Ordner. Um den Ordner selbst zu löschen, musst du RmDir verwenden.

2. Was passiert, wenn der Ordner nicht existiert? Wenn der Ordner nicht existiert, gibt der Code einen Fehler aus, es sei denn, du hast vorher On Error Resume Next verwendet, um den Fehler zu ignorieren.

3. Kann ich Kill und RmDir in einer Zeile kombinieren? Nein, du musst zuerst die Dateien mit Kill löschen und danach den Ordner mit RmDir separat löschen.

4. Funktioniert dieser Code in jeder Excel-Version? Ja, die gezeigten VBA-Methoden funktionieren in den meisten modernen Excel-Versionen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige