Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Excel 2013 VBA für Profis

Datei löschen

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Der Kill-Befehl löscht Dateien sofort und unwiederbringlich, daher empfiehlt es sich, ein paar Sicherheitsüberprüfungen um diesen Befehl herum zu packen.

Transkript

Sobald Sie in der Lage sind, mit dem Open-Befehl neue Dateien zu erzeugen, ist es natürlich auch ganz hilfreich, die wieder löschen zu können. Das wird sich keineswegs auf Textdateien beschränken, genauso wenig wie der Open-Befehl sich auch Textdateien einschränkt. Der Befehl, der gleich kommt, um Dateien zu löschen, kann jede Datei löschen. Das macht ihn auch so gefährlich. Also ich schreibe schonmal den Prozedurrumpf: sub LoescheDatei. Und der heißt nicht nur so, sondern der ist so gnadenlos: Kill. Kill ist nicht das, was Sie heute als Löschen kennen, mit eigentlich Verschieben in einen Papierkorb, aus dem man das zur Not wieder retten kann. Sondern Kill macht genau das, was es verspricht: Die Datei ist weg, ohne Wiederherstellen, ohne Rückwarnung. Und Sie müssen natürlich außer der Datei auch den kompletten Pfad angeben. Deswegen kopiere ich das schonmal von da oben. Und wenn Sie noch einen letzten Blick auf die Datei werfen wollen. In diesem Pfad, hier ist die Datei. Dann werde ich jetzt nach dem Speichern vorsichtshalber, diesen Befehl mit F5 einmal laufen lassen. Gucken wir nochmal nach, wie es jetzt in dem Verzeichnis aussieht. Und die Datei ist weg. Ohne Rückfrage. Deswegen sollte man an so einer Stelle natürlich ein bisschen ordentlicher programmieren und selber diese Rückfrage einbauen. Diese Rückfrage könnte zum Beispiel sein: if MsgBox "Datei löschen?", und dann natürlich brauchen wir die MsgBox als Function, also mit Klammern. Und dann will ich erstens natürlich ein vbOKCancel aufrufen, also die OK- und die Abbrechen-Schaltfläche. +vbQuestion, das Fragezeichen. +, im Zweifelsfall vbDefaultButton2, sodass also die Cancel-, Abbrechen- Schaltfläche vorausgewählt wird. Und wenn das OK ist, nur dann würde ich den Kill-Befehl ausführen. Ende fehlt noch. Das heißt, ich muss die Rückfrage einfach selber programmieren. Abgesehen davon, dass der Kill-Befehl selber erwartet, dass die zu löschende Datei auch da ist, wäre es ganz hilfreich, wenn man nicht einfach "Datei löschen?" fragt, sondern dafür sorgt, dass dieser Pfad und Datei auch genannt wird. Und das bedeutet, wir brauchen nochmal eine vernünftige Variable: Dim strDatei As String. Und dann kann ich die hier aufrufen, nachdem ich sie da oben einmal zugewiesen habe, und hier nämlich ein zweites Mal nenne. Also mit einem Hochkomma für die Schönheit, verkettet mit dieser Variablen, verkettet mit wieder einem Stückchen Text, und dem Hochkomma am Ende. Das wird jetzt noch nicht wirklich funktionieren, nur dass Sie schonmal sehen, wie es aussieht. Das ist immer so ein bisschen gewöhnungsbedürftig hier mit dem Hochkomma. Also einmal F5. Das Hochkomma macht nichts anderes, als in den Datei- und Pfadnamen hier ein Hochkomma zu setzen. Ich breche jetzt ab, denn die Datei ist gerade gelöscht. Und ich kann Ihnen alternativ zeigen, wenn Sie dort gern ein Gänsefüßchen sehen wollen, dann muss das innerhalb der Gänsefüßchen, die ja die Zeichenkette beschränken, einfach aufgedoppelt werden. Also auch das geht. Die einfachen Hochkommata, die erstmal optisch leichter wirken, sind technisch leichter auch zu schreiben. Die Anführungszeichen, die gleichzeitig Textbegrenzer sind, müssen jetzt hier aufgedoppelt werden. Mit F5 sehen Sie, es geht auch das. Also wenn man schon fragt, dann bitteschön auch so, dass man weiß, was da eigentlich gefragt wird. Und damit wir es auch ganz korrekt machen, dann sollte hier vielleicht auch noch die Konstante benutzt werden. Da gibt es ja so eine Konstante, die die Application, den Namen meines Excel-Programms vermerkt. Aber wenn ich frage, eine Datei zu löschen, und die Datei gibt es schon gar nicht mehr, dann ist das eigentlich auch Quatsch. Ich werde hier meinen Pseudoumbruch einbauen, sodass es gleich ein bisschen passender im Platz ist. Denn vorher frage ich erstmal, ob es die Datei überhaupt schon gibt, oder noch, je nachdem. Und das macht man mit dem Dir-Befehl. Also if dir(strDatei), wenn das ungleich einem Leerstring ist, sprich da kommt irgendeine Antwort, nämlich der Dateiname. Erst dann bin ich bereit, das Löschen nachzufragen. Andernfalls gibt es diese Datei nämlich nicht. Also hier steht ein Pfad und ein Dateiname drin und der Dir-Befehl gibt mindestens den Dateinamen zurück, wenn es diese Datei gibt, oder nichts, wenn es diese Datei oder übrigens auch der Pfad nicht exisitiert. Wir können das nach dem Speichern mal testen, mit F5. Keine Reaktion, weil diese Datei nicht existiert. Jetzt lasse ich sie einmal schreiben. Mit F5. Da ist sie gerade erstellt worden. Sie können hier auch sehen, sie ist aufgetaucht. Und jetzt kann ich hier mit F5 feststellen, ja, es gibt was zu fragen. Diese Datei ist tatsächlich löschbar. Und wenn ich jetzt auf OK gehe, dann wird sie auch tatsächlich gelöscht. Und weg. Da gibt es jetzt keine weitere Rückmeldung mehr. Aber die erste Prüfung ist: Gibt es die Datei? Die zweite Prüfung ist: Will mein Benutzer sie eigentlich löschen? Und dann erst mache ich was. Also der Kill-Befehl ist so gefährlich, muss man so sagen, der ist so effektiv, kann man auch freundlicher formulieren, dass man ihn so erstmal absichern muss, dass es sich wie gewohnt verhält.

Excel 2013 VBA für Profis

Nutzen Sie die Möglichkeiten der Programmiersprache VBA in Excel 2013, um eigene Dialoge zu erstellen, auf andere Arbeitsmappen zuzugreifen und wichtige Funktionen einzusetzen.

4 Std. 59 min (53 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!