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

Forumthread: Datei löscht sich zu einem bestimmten Datum selbst

Datei löscht sich zu einem bestimmten Datum selbst
12.01.2009 20:54:00
wolle
Hallo an alle,
ich würde gerne wissen ob es möglich ist, dass sich eine Excel - Datei zu einem bestimmten Datum selbst löschen kann.
Wie stell ich mir das vor?
Diese Datei wird an verschiedene Personen zu Übungszwecken ausgegeben. D.h. das Original wird mittels Speichermedium (USB-STick, CD usw) auf einen Server gespielt und von dort den jeweiligen Usern zur Verfügung gestellt, die sich diese Datei auf ihren Rechner ziehen. Damit diese Datei keine großen Kreise zieht, wäre es mir lieb, wenn sich diese kopierte Datei zu einem bestimmten Datum selbst löscht.
Dazu habe ich mir gedacht, dass man in der Datei, die auf dem Server liegt, in eine Zelle das entsprechende "Löschdatum" eingibt, die Zelle ist gänzlich weiß formatiert, so, dass das Datum nicht sichtbar ist. Und in der VBA-Codierung ist ein Befehl hinterlegt, der diese Zelle prüft und bei erreichen oder überschreiten des Datums diese Datei löscht, so dass sie vom Server verschwindet und auch die entsprechenden User sie nicht mehr haben. Mir ist klar, dass dazu diese Datei an diesem Datum oder danach nochmal geöffnet werden muss. Aber das ist ja egal, wenn weg dann weg.
So weit meine Wunschträume.
Nun meine Frage, ist das möglich? Und wenn wie?
Dank schon jetzt an alle die mir hier helfen können.
Gruß
Wolfgang
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei löscht sich zu einem bestimmten Datum selbst
12.01.2009 21:11:00
wolle
Hallo Hajo,
danke für den Link!
Das werd ich mir mal genauer ansehen, ich glaube, das ist in etwa was ich will.
Schon mal vielen Dank an Dich!
Wolfgang
Anzeige
nur so eine Idee
12.01.2009 21:51:00
Tino
Hallo,
verwende z. Bsp. ein VBS Script mit dem Inhalt.

Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile("C:\Excel-Arbeitsblatt.xls"), True
Set objFSO = Nothing


Pfad zu der Exceldatei musst Du natürlich anpassen.
Windows hat einen Taskplaner,
mit dem stellst Du dass ausführen dieses Scripts zu einer bestimmten Zeit ein.
Gruß Tino

Anzeige
AW: nur so eine Idee
12.01.2009 21:56:20
wolle
Hallo Tino,
hört sich net schlecht an, ist aber nur für einen Rechner geeignet den ich selbst bediene. Die User müssen davon ja nix wissen. Und wenn sie selbst den Pfad entsprechend ihrem Rechner anpassen müssten, dann passt das schon nimmer. Zudem würden einige davon das nicht mal checken, was sie da machen sollen.
Trotzdem vielen Dank!!
Grüßle
Wolfgang
Anzeige
AW: nur so eine Idee
12.01.2009 22:17:32
Josef
Hallo Wolfgang,
das lässt sich rein mit Excel nicht lösen.
Aber es gibt tools wie diese hier: http://orlando.mvps.org/XLtoEXEMore.asp
In der Datei gibst du unter "WorkBook_Open" ein "Ablaufdatum" an, nach dem sich die Datei nicht mehr öffnen lässt.
Gruß Sepp

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel-Datei automatisch zum Löschen programmieren


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei so zu programmieren, dass sie sich zu einem bestimmten Datum selbst löscht, kannst Du VBA (Visual Basic for Applications) nutzen. Hier sind die Schritte:

  1. Öffne Excel und erstelle eine neue Arbeitsmappe.

  2. Gehe zu "Entwicklertools" und klicke auf "Visual Basic", um den VBA-Editor zu öffnen. Falls Du die Entwicklertools nicht siehst, aktiviere sie in den Excel-Optionen.

  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle "Einfügen" > "Modul".

  4. Füge den folgenden Code ein:

    Sub Workbook_Open()
       Dim Löschdatum As Date
       Dim AktuellesDatum As Date
    
       ' Setze das Löschdatum
       Löschdatum = Range("A1").Value ' Zelle A1 enthält das Löschdatum
       AktuellesDatum = Date
    
       If AktuellesDatum >= Löschdatum Then
           ThisWorkbook.Close SaveChanges:=False
           Kill ThisWorkbook.FullName ' Löscht die Datei
       End If
    End Sub
  5. Gebe in die Zelle A1 das gewünschte Löschdatum ein. Stelle sicher, dass die Zelle formatiert ist, sodass das Datum nicht sichtbar ist (z.B. weißer Text auf weißem Hintergrund).

  6. Speichere die Datei als Makro-fähige Arbeitsmappe (Dateiformat .xlsm).

  7. Verteile die Datei. Die Datei muss am Löschdatum geöffnet werden, damit sie sich selbst löscht.


Häufige Fehler und Lösungen

  • Das Makro wird nicht ausgeführt: Stelle sicher, dass Makros in den Excel-Optionen aktiviert sind.
  • Die Datei löscht sich nicht: Vergewissere Dich, dass das Löschdatum korrekt eingegeben wurde und die Datei am Löschdatum geöffnet wird.
  • Fehlermeldungen beim Schließen: Achte darauf, dass kein anderer Prozess die Datei verwendet.

Alternative Methoden

Wenn der VBA-Weg für Dich nicht praktikabel ist, kannst Du folgende Alternativen in Betracht ziehen:

  • VBS-Skripte: Wie von Tino vorgeschlagen, kannst Du ein VBS-Skript verwenden, um die Datei zu löschen. Allerdings müssen die Benutzer den Pfad anpassen, was kompliziert sein kann.
  • Excel-Add-Ins: Es gibt Tools, die ähnliche Funktionen bieten, wie z.B. das Add-In von Orlando, welches die Datei nach einem bestimmten Datum sperrt.

Praktische Beispiele

Nehmen wir an, Du möchtest eine Excel-Datei am 1. Januar 2024 löschen:

  1. Gib in Zelle A1 das Datum 01.01.2024 ein.
  2. Führe die oben beschriebene VBA-Programmierung aus.
  3. Speichere die Datei und teste: Öffne die Datei am 2. Januar 2024 und sie sollte sich selbst löschen.

Tipps für Profis

  • Backup: Stelle sicher, dass Du immer ein Backup Deiner Datei hast, bevor Du das Löschen implementierst.
  • Sichtbarkeit: Wenn Du das Datum unsichtbar machst, könnte es für die Benutzer frustrierend sein. Überlege, ob Du eine Anleitung zur Verwendung der Datei bereitstellst.
  • Testen: Teste die Funktionalität gründlich, bevor Du die Datei verteilst, um sicherzustellen, dass alles reibungslos funktioniert.

FAQ: Häufige Fragen

1. Ist es sicher, VBA für das Löschen einer Datei zu verwenden?
Ja, solange Du den Code korrekt implementierst und die Benutzer über die Funktion informiert sind.

2. Kann ich auch einen anderen Speicherort für die Datei angeben?
Ja, passe den Pfad in der VBA-Codierung entsprechend an, falls Du die Datei an einem anderen Ort speichern möchtest.

3. Was passiert, wenn die Datei nicht geöffnet wird?
Wenn die Datei nicht am festgelegten Datum geöffnet wird, bleibt sie erhalten. Der Code wird nur beim Öffnen der Datei ausgeführt.

4. Funktioniert dies in Excel 365?
Ja, die oben beschriebenen Schritte funktionieren in Excel 365 sowie in anderen Versionen, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige