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

Datei bei Ablaufdatum löschen

Forumthread: Datei bei Ablaufdatum löschen

Datei bei Ablaufdatum löschen
23.06.2021 11:56:39
Harald
Hallo VBA- Profis,
ist es möglich eine Datei per VBA automatisch zu löschen, wenn ein bestimmtes Datum (das z.B. in Zelle A1 vorgegeben wird) erreicht wird.
Es geht darum, dass ausgesuchte Dateien mit sensiblen Daten aufgrund Datenschutz zu einem bestimmten Zeitpunkt in der Zukunft gelöscht werden müssen.
Hier geht es in erster Linie um Exceldateien, aber auch um Outlookmails und Worddateien.
Vielen Dank vorab und Grüße
Harald G.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datei bei Ablaufdatum löschen
23.06.2021 12:19:55
Nepumuk
Hallo Harald,
in das Klassenmodul "DieseArbeitsmappe":
Code:

[Cc]

Option Explicit Private Sub Workbook_Open() If Tabelle1.Cells(1, 1).Value <= Date Then Saved = True Call ChangeFileAccess(Mode:=xlReadOnly) Call Kill(PathNamne:=FullName) Call Me.Close(SaveChanges:=False) End If End Sub

Gruß
Nepumuk
Anzeige
AW: Datei bei Ablaufdatum löschen
23.06.2021 12:29:13
EtoPHG
Hallo Harald,
...möglich schon. In der Forums-Recherche findest du bestimmt Codeschnipsel für das.
Allerdings schreit deine Anfrage geradezu nach mehr Fragen:
  • Sind das nur lokale/private Daten für einen Benutzer?

  • Warum über Excel/VBA?

  • Werden die Speicherorte/Dateinamen bezogen?

  • Was passiert, wenn die Auslösung der Löschung vergessen wird?

  • Woher wen wird?

  • Müssen u.U. Dateien wiederhergestellt werden können?

  • Ich würde z.B. den MS Aufgabenplaner für so etwas in Betracht ziehen
    Gruess Hansueli
    Anzeige
    AW: Datei bei Ablaufdatum löschen
    23.06.2021 14:02:42
    Harald
    Hallo Nepumuk,
    erstmal erneut herzlichen Dank an Dich, weil ich heute schon 2 funktionierende Codes zu meinen Zielvorstellungen bekommen habe.
    Hallo EtoPHG,
    auch Dir vielen Dank.
    Hier meine Antworten auf Deine Fragen:
    Sind das nur lokale/private Daten für einen Benutzer?
    ... Die Dateien werden per Mail verschickt und dann im privaten Laufwerk des Benutzers gespeichert.
    Warum über Excel/VBA?
    ... Weil sie als Exceldateien von der Personalabteilung zur Verfügung gestellt werden.
    Werden die Speicherorte/Dateinamen bezogen?
    ... Die Dateinamen könnten vorgegeben werden. Allerdings speichert jeder Benutzer diese dann selber in seinem persönlichen Laufwerk.
    Was passiert, wenn die Auslösung der Löschung vergessen wird?
    ... Wenn die Löschung vergessen wird, passiert diese zumindest automatisch, wenn die Dateien nach Ablaufdatum geöffnet wird. (Code von Nepumuk)
    Woher wen wird?
    ... Das habe ich nicht verstanden.
    Müssen u.U. Dateien wiederhergestellt werden können?
    ... Nein, Aufbewahrungsfrist maximal 3 Jahre, dann endgültige Löschung zwingend erforderlich.
    Vielen Dank und Grüße
    Harald G.
    Anzeige
    AW: Datei bei Ablaufdatum (vielleicht) löschen
    23.06.2021 14:39:25
    EtoPHG
    Hallo Harald,
    Die nicht verstandene Frage ist jetzt auch für mich unverständlich. Bitte entschuldige.
    Das mit "Aufbewahrungsfrist maximal 3 Jahre, dann endgültige Löschung zwingend erforderlich.",
    kannst Du wohl knicken. Mit Excel und VBA ist nichts sicher. Jeder Benutzer einer empfangenen Datei, kann mit dieser ja anstellen was er will.
    Z.B. eine Kopie der Datei ohne VBA-Code abspeichern und sie bis zu seinem oder dem Tod seines/r Computer/Speichermediums/Cloud/Provider aufbewahren!
    Excel ist denkbar unsicher für irgendwelche sicherheitsrelevanten Anwendungen.
    Gruess Hansueli
    Anzeige
    AW: Datei bei Ablaufdatum (vielleicht) löschen
    23.06.2021 15:43:00
    Harald
    Hallo Hansueli,
    ja, vielen Dank für die Rückmeldung.
    Das Excel hierfür nicht die perfekte Lösung ist, wissen wir und suchen jetzt nach alternativen Lösungen.
    Trotzdem nochmal vielen Dank an dieser Stelle.
    Schönen Tag noch!
    Harald
    ;
    Anzeige
    Anzeige

    Infobox / Tutorial

    Automatisches Löschen von Dateien bei Ablaufdatum in Excel


    Schritt-für-Schritt-Anleitung

    1. Öffne die Excel-Datei, in der Du das Skript einfügen möchtest.

    2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

    3. Füge ein neues Modul hinzu:

      • Klicke auf Einfügen > Modul.
    4. Kopiere den folgenden VBA-Code in das Modul:

      Option Explicit
      
      Private Sub Workbook_Open()
         If Tabelle1.Cells(1, 1).Value <= Date Then
             Saved = True
             Call ChangeFileAccess(Mode:=xlReadOnly)
             Call Kill(PathName:=FullName)
             Call Me.Close(SaveChanges:=False)
         End If
      End Sub
    5. Speichere die Datei als Makro-fähige Arbeitsmappe (Dateiendung .xlsm).

    6. Teste das Skript, indem Du ein Datum in Zelle A1 eingibst, das bereits abgelaufen ist.


    Häufige Fehler und Lösungen

    • Fehler: „Laufzeitfehler 52: Dateiname ungültig“

      • Lösung: Überprüfe den Pfad und den Dateinamen im Kill-Befehl. Stelle sicher, dass der Pfad korrekt ist und die Datei existiert.
    • Fehler: „Das Makro konnte nicht ausgeführt werden“

      • Lösung: Stelle sicher, dass die Makros in den Excel-Einstellungen aktiviert sind.
    • Fehler: Datum wird nicht erkannt

      • Lösung: Achte darauf, dass das Datum in Zelle A1 im korrekten Datumsformat vorliegt.

    Alternative Methoden

    Wenn Du eine sicherere Methode zur automatischen Löschung von Dateien suchst, kannst Du den Windows Aufgabenplaner verwenden. Hierbei kannst Du ein Skript erstellen, das zu einem bestimmten Zeitpunkt ausgeführt wird und die relevanten Dateien löscht.

    1. Öffne den Aufgabenplaner.
    2. Erstelle eine neue Aufgabe und leg den Trigger auf das gewünschte Datum fest.
    3. Füge ein Skript hinzu, das die Dateien löscht, die Du entfernen möchtest.

    Praktische Beispiele

    Angenommen, Du möchtest eine Excel-Datei mit sensiblen Daten automatisch löschen, wenn das Datum in Zelle A1 erreicht ist.

    • Beispiel:
      • Wenn in Zelle A1 der 01.01.2023 steht, wird die Excel-Datei beim Öffnen am 01.01.2023 oder später automatisch gelöscht.

    Das Skript kann auch für andere Dateitypen wie Word-Dokumente oder Outlook-E-Mails angepasst werden, indem die entsprechenden Pfade und Befehle verwendet werden.


    Tipps für Profis

    • Nutze Kommentare im VBA-Code, um die Funktionsweise für andere verständlicher zu machen.
    • Teste den Code gründlich in einer Testumgebung, bevor Du ihn in einer produktiven Umgebung einsetzt.
    • Erstelle regelmäßige Backups Deiner wichtigen Daten, um Datenverlust zu vermeiden.

    FAQ: Häufige Fragen

    1. Muss ich Excel immer öffnen, um die Datei zu löschen?
    Ja, das Skript wird nur beim Öffnen der Excel-Datei ausgeführt.

    2. Was passiert, wenn ich das Datum in Zelle A1 ändere?
    Das Skript prüft immer den aktuellen Wert in Zelle A1, wenn die Datei geöffnet wird. Ist das Datum abgelaufen, wird die Datei gelöscht.

    3. Kann ich das Skript auch für andere Dateiformate verwenden?
    Ja, das Skript kann angepasst werden, um auch Word-Dokumente oder E-Mails zu löschen. Achte dabei auf die richtigen Dateipfade.

    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