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

Datei mit VBA löschen ?

Forumthread: Datei mit VBA löschen ?

Datei mit VBA löschen ?
03.05.2006 10:37:51
Johannes
Hallo Zusammen,
folgendes Problem: ich lese aus einer *.prn Datei mit Excel Messwerte aus. Im Anschluss wird die *.prn umbenannt und und die "alte"*.prn mit einer Batchdatei gelöscht:
Dim NR As Variant
'holt lfd Nr des Datensatzes
Sheets("Steuerung").Select
NR = Range("B10").Value + 1000
'speichert Datei mit neuem Namen in Archivpfad
Windows("3026W1_6.PRN").Activate
Range("A1").Select
ChDir "C:\Daten\Archiv"
ActiveWorkbook.SaveAs Filename:="C:\Daten\Archiv\3026W1_6_" & NR & ".PRN", _
FileFormat:=xlExcel5, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
'löscht ursprüngliche Datei mittels Batch-Datei
Ergebnis = Shell("C:\Daten\Ab_3026W1_6.bat", 1)
auf meinen Rechner läuft das ohne Fehlermeldung, auf dem Messrechner auch Excel2000 aber unter WIN95 wegen des Messoftware schließt sich die Batchdatei nicht. In der Batchdatei stehen nur zwei Zeilen:
del C:\Daten\3026W1_6.PRN
exit
Hat jemand eine Idee wie ich das Problem eleganter lösen kann, bzw die Batchdatei sicher geschlossen wird?
Für Eure Hilfe schon jetzt herzlichen Dank
Gruß
Johannes
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datei mit VBA löschen ?
03.05.2006 10:40:54
IngGi
Hallo Johannes,
Dateien lassen sich auch mit VBA löschen:
Kill C:\Daten\3026W1_6.PRN
Gruß Ingolf
Danke - klappt nun fehlerfrei
03.05.2006 10:53:45
Johannes
Hallo Ingolf
habe nur ein paar Anführungszeichen noch hinzugefügt:
Kill "C:\Daten\3026W1_6.PRN"
Danke für die Hilfe,
Gruß
Johannes
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Dateien mit VBA löschen: Schritt-für-Schritt-Anleitung


Schritt-für-Schritt-Anleitung

Um eine Datei mit VBA zu löschen, kannst du den Kill-Befehl verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, wie du eine Datei mit Excel VBA löschen kannst:

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

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Füge den folgenden Code in das Modul ein:

    Sub DateiLöschen()
       On Error Resume Next ' Um Fehler zu ignorieren, wenn die Datei nicht vorhanden ist
       Kill "C:\Daten\3026W1_6.PRN"
       On Error GoTo 0 ' Fehlerbehandlung wieder aktivieren
    End Sub
  4. Ändere den Dateipfad zu der Datei, die du löschen möchtest.

  5. Führe das Makro aus, um die Datei zu löschen.

Mit dieser Methode kannst du sicherstellen, dass die Datei gelöscht wird, wenn sie vorhanden ist.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Lösung: Stelle sicher, dass der angegebene Dateipfad korrekt ist und die Datei existiert. Du kannst die Fehlerbehandlung im Code verwenden, um diesen Fehler zu ignorieren.
  • Fehler: Zugriffsverletzung

    • Lösung: Überprüfe, ob die Datei von einem anderen Programm verwendet wird. Schließe alle Anwendungen, die auf die Datei zugreifen könnten.

Alternative Methoden

Wenn du die Datei nicht mit VBA löschen möchtest, kannst du folgende alternative Methoden verwenden:

  • Batch-Datei: Erstelle eine .bat-Datei, die die Datei löscht. Beispiel:

    del C:\Daten\3026W1_6.PRN
    exit
  • CMD: Du kannst den Befehl cmd del verwenden, um Dateien ohne Bestätigung zu löschen:

    del /q C:\Daten\3026W1_6.PRN

Diese Methoden bieten eine Möglichkeit, Dateien zu löschen, ohne VBA zu verwenden.


Praktische Beispiele

Hier sind einige praktische Beispiele für den Einsatz von Kill in VBA:

  1. Einzelne Datei löschen:

    Sub EinzelneDateiLöschen()
       Kill "C:\Daten\Beispiel.txt"
    End Sub
  2. Mehrere Dateien löschen:

    Sub MehrereDateienLöschen()
       Dim Datei As Variant
       For Each Datei In Array("C:\Daten\Datei1.txt", "C:\Daten\Datei2.txt")
           On Error Resume Next
           Kill Datei
           On Error GoTo 0
       Next Datei
    End Sub
  3. Datei löschen, wenn vorhanden:

    Sub DateiLöschenWennVorhanden()
       Dim DateiPfad As String
       DateiPfad = "C:\Daten\3026W1_6.PRN"
       If Dir(DateiPfad) <> "" Then
           Kill DateiPfad
       End If
    End Sub

Tipps für Profis

  • Verwende die On Error-Anweisung, um Fehler zu handhaben, insbesondere wenn du mit Dateien arbeitest, die möglicherweise nicht existieren.
  • Teste dein Makro in einer sicheren Umgebung, um unbeabsichtigte Datenverluste zu vermeiden.
  • Stelle sicher, dass du die richtigen Berechtigungen hast, um die Datei zu löschen.

FAQ: Häufige Fragen

1. Kann ich mit VBA auch Ordner löschen? Ja, du kannst Ordner mit dem RMDIR-Befehl löschen, aber der Ordner muss leer sein. Wenn der Ordner nicht leer ist, kannst du Scripting.FileSystemObject verwenden.

2. Was passiert, wenn ich eine Datei lösche, die ich nicht mehr brauche? Die Datei wird dauerhaft gelöscht. Stelle sicher, dass du ein Backup hast, falls du die Datei später benötigst.

3. Wie kann ich überprüfen, ob eine Datei existiert, bevor ich sie lösche? Du kannst die Dir-Funktion verwenden, um zu prüfen, ob die Datei existiert, bevor du den Kill-Befehl ausführst.

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