VBA Erzeugte Datei beim Beenden von Excel löschen
Hallo
ich möchte gerne eine Datei die ich Mittels VBA erzeugt habe wieder löschen wenn ich die Datei mit der ich sie erzeugt habe schließe
ich habe es mit
Private Sub Form_unload(Cancel as Integer)
kill "pfad"
end sub
und mit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
kill "pfad"
end sub
er macht nur gar nichts auch keine fehlermeldung
was mache ich da flasch? ich kenne mich mit vb recht wenig aus da ich eigentlich nur c++ programmiere
Antwort schreiben
Antwort 1 von Beverly vom 31.07.2021, 10:29 Options
Hi,
versuche es mal mit
Kill "C:\Test\Mappe1.xls"
Bis später,
Karin
Antwort 2 von Bierschinken vom 31.07.2021, 10:32 Options
?
versteh ich jetzt nicht ganz
mir ist schon klar das ich mit kill eine datei löschen kann mein problem ist nur das ich dies automatisch machen will wenn ich excel schließe
Antwort 3 von Beverly vom 31.07.2021, 10:46 Options
Hi,
wo du den Code hinschreibst ist egal (2 mögliche Beispiele dazu hast du ja schon selbst gepostet). Deine Prozedur Private Sub Workbook_BeforeClose(Cancel As Boolean) löscht die Mappe beim Schließen von Excel. Bei mir wird mit Kill "C:\Test\Mappe1.xls" die Mappe1.xls problemlos aus dem Verzeichnis C:\Test gelöscht.
Bis später,
Karin
Antwort 4 von Yossarian vom 31.07.2021, 11:00 Options
Laß dir mit msgbox die Variable "pfad" ausgeben. Ist die überhaupt zu dem Zeitpunkt definiert?
Yossarian
Antwort 5 von Beverly vom 31.07.2021, 11:09 Options
Hi,
pfad kann keine Variable sein, da sie in Anführungszeichen steht.
Bis später,
Karin
Antwort 6 von Bierschinken vom 31.07.2021, 11:17 Options
danke problem hat sich gelöst
hatte die prozedur in einer tabelle im code eingebunden und nicht in der arbeitsmappe dann noch den pfadname in ner public variablen gespeichert und es geht
warum soll denn ein pfad keine variable sein können ich kann doch den pfad als string speichern und dann "kill variable" machen
Antwort 7 von Beverly vom 31.07.2021, 12:56 Options
Hi,
der Befehl für Kill wird folgendermaßen verwendet (Auszug aus der VBA-Hilfe:
' TstDdatei ist eine Datei mit einigen Beispieldaten.
Kill "TstDatei" ' Datei löschen
Wenn du also schreibst Kill "pfad", dann wird "pfad" als Name der zu löschenden Datei erkannt und nicht als Variable. Willst du statt eines fest vorgegebenen Dateinamens eine Variable verwenden, darfst du sie nicht in Anführungszeichen setzen. Der Code müsste in diesem Fall so heißen:
Dim pfad As String
pfad = "TstDatei"
Kill pfad
Bis später,
Karin