6.6k Aufrufe
Gefragt in Tabellenkalkulation von
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

7 Antworten

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

versuche es mal mit
Kill "C:\Test\Mappe1.xls"

Bis später,
Karin
0 Punkte
Beantwortet von
?
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
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
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
0 Punkte
Beantwortet von
Laß dir mit msgbox die Variable "pfad" ausgeben. Ist die überhaupt zu dem Zeitpunkt definiert?

Yossarian
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

pfad kann keine Variable sein, da sie in Anführungszeichen steht.

Bis später,
Karin
0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
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
...