Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Löschen, wenn Datei vorhanden

Forumthread: Löschen, wenn Datei vorhanden

Löschen, wenn Datei vorhanden
20.01.2004 15:59:08
Marco
Hallo,
ich möchte gerne Prüfen ob eine Datei z.B. datei.txt in einem bestimmten Ordner z.B. test vorhanden ist. Wenn die Datei datei.txt existiert soll sie gelöscht werden.
Ich habe bisher mit der Kill Anweisung rumprobiert, kann zwar die Datei löschen, wenn sie aber nicht vorhanden ist bekomme ich einen Laufzeitfehler.
Vielen Dank im Voraus.
Marco
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Löschen, wenn Datei vorhanden
20.01.2004 16:07:37
Torsten
Hi Marco, dann gehe doch mit "On error Resume next" über den Fehler hinweg.
Gruß
Torsten
AW: Löschen, wenn Datei vorhanden
20.01.2004 16:11:38
Kurt
If Dir(Pfad & Datei) <> "" then kill Pfad & Datei
Kurt
Anzeige
;
Anzeige

Infobox / Tutorial

Datei löschen, wenn vorhanden: So geht's mit VBA


Schritt-für-Schritt-Anleitung

Um eine Datei in Excel VBA zu löschen, wenn sie vorhanden ist, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Gib den folgenden Code ein:

    Sub DateiLoeschenWennVorhanden()
       Dim Datei As String
       Dim Pfad As String
    
       Pfad = "C:\Dein\Pfad\Zum\Ordner\"  ' Ändere diesen Pfad entsprechend
       Datei = "datei.txt"  ' Name der Datei, die gelöscht werden soll
    
       On Error Resume Next  ' Fehler ignorieren, falls die Datei nicht existiert
       Kill Pfad & Datei  ' Datei löschen
       On Error GoTo 0  ' Fehlerbehandlung zurücksetzen
    End Sub
  4. Führe das Makro aus: Kehre zurück zu Excel und führe das Makro über Entwicklertools > Makros aus.


Häufige Fehler und Lösungen

  • Laufzeitfehler beim Löschen: Dieser Fehler tritt auf, wenn die Datei, die du löschen möchtest, nicht vorhanden ist. Um dies zu vermeiden, verwende die On Error Resume Next Anweisung, um den Fehler zu ignorieren, wie im obigen Beispiel gezeigt.

  • Falscher Pfad: Stelle sicher, dass der Pfad zur Datei korrekt ist. Ein Tippfehler kann dazu führen, dass das Skript die Datei nicht finden kann.


Alternative Methoden

Wenn du mit Excel VBA arbeitest, kannst du auch Access VBA verwenden, um eine Datei zu löschen. Hier ist ein Beispiel:

Sub AccessDateiLoeschen()
    Dim Datei As String
    Dim Pfad As String

    Pfad = "C:\Dein\Pfad\Zum\Ordner\"
    Datei = "datei.txt"

    If Dir(Pfad & Datei) <> "" Then
        Kill Pfad & Datei
    End If
End Sub

Diese Methode prüft, ob die Datei vorhanden ist, bevor der Löschbefehl ausgeführt wird.


Praktische Beispiele

  • Beispiel 1: Löschen einer temporären Datei

    Sub TempDateiLoeschen()
      Dim Pfad As String
      Pfad = "C:\Temp\tempfile.tmp"
      On Error Resume Next
      Kill Pfad
    End Sub
  • Beispiel 2: Löschen einer Access-Tabelle

    Sub AccessTabelleLoeschen()
      Dim db As Database
      Set db = CurrentDb
      On Error Resume Next
      db.Execute "DROP TABLE Tablename", dbFailOnError
      On Error GoTo 0
    End Sub

Tipps für Profis

  • Nutze On Error GoTo [Label], um spezifische Fehlerbehandlungen zu implementieren.
  • Teste dein Skript in einer sicheren Umgebung, um Datenverlust zu vermeiden.
  • Kommentare im Code helfen, die Funktionalität zu verstehen und später Anpassungen vorzunehmen.

FAQ: Häufige Fragen

1. Wie kann ich überprüfen, ob eine Datei vorhanden ist? Du kannst die Dir-Funktion verwenden, um zu prüfen, ob die Datei existiert. Beispiel: If Dir("C:\Pfad\zur\Datei.txt") <> "" Then.

2. Was passiert, wenn ich versuche, eine nicht existierende Datei zu löschen? Wenn du die Kill-Anweisung ohne vorherige Prüfung verwendest, erhältst du einen Laufzeitfehler. Verwende On Error Resume Next, um diesen Fehler zu umgehen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige