VBA: Arbeitsmappe nach Verfallsdatum löschen



Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: VBA: Arbeitsmappe nach Verfallsdatum löschen
von: Ernst Dunkel
Geschrieben am: 13.07.2002 - 22:18:33

Hallo Leute
Ich möchte eine VBA-Prozedur schreiben, welche eine Arbeitsmappe nach Verfallsdatum (z.B. 17.7.02) löscht.
Mein Makro weist noch Fehler auf, weis aber nicht wieso, kann mir jemand meinen Code berichtigen?

Gruss Ernst

Sub MappeDatumLöschen()
If Date > CD - ROMate("17.Juli,2002") Then Kill _
ThisWorkbook.Name
End Sub


nach oben   nach unten

Re: VBA: Arbeitsmappe nach Verfallsdatum löschen
von: Ramses
Geschrieben am: 13.07.2002 - 23:21:57

Hallo Ernst,

du kannst nicht die geöffnete Arbeitsmappe löschen.

Workaround:
Schreib eine ähnliche prozedur in das Workbook_Open Ereignis.
Wenn das Verfalldatum abgelaufen ist, schliesse die Datei einfach wieder.

Gruss Rainer

nach oben   nach unten

Re: VBA: Arbeitsmappe nach Verfallsdatum löschen
von: Ernst Dunkel
Geschrieben am: 13.07.2002 - 23:30:22

Hallo Rainer

Danke für Dein Hinweis, werde es versuchen!

Es sollte doch möglich sein, wenn am Verfallsdatum die Datei geöffnet wird, das Makro ohne Warnung die Arbeitsmappe bzw. Datei löscht! Aber dafür brauchte ich doch noch Hilfe!

Gurss


nach oben   nach unten

Du kannst die geöffnete Mappe nicht löschen...
von: Ramses
Geschrieben am: 13.07.2002 - 23:51:30

Das ist prinzipiell nicht möglich.
Wenn es schon unbedingt auf diese harte Art sein muss:


Sub Delete_All_Tables()
Application.DisplayAlerts = False
Sheets.Add After:=Sheets(Worksheets.Count)
ActiveSheet.Name = "Abgelaufene Datei"
For i = 1 To Worksheets.Count
    If Worksheets(i).Name <> "Abgelaufene Datei" Then
        Worksheets(i).Delete
    End If
Next i
End Sub

Gruss Rainer

nach oben   nach unten

Re: das geht schon...
von: L.Vira
Geschrieben am: 13.07.2002 - 23:58:57

Wenn du in Workbook_Open feststellst, dass die Datei "verfallen"
ist, diese schließen und eine Routine(z.B. in PERSONL.xls)
aufrust, die dann das Löschen besorgt. Den Pfad zur zu löschenden Datei kannst du z.B. in der Registry ablegen.

nach oben   nach unten

Re: Du kannst die geöffnete Mappe nicht löschen...
von: Hajo_Zi
Geschrieben am: 14.07.2002 - 07:04:20

Hallo Rainer

Jürgen Wenzel hat mir mal eine Datei geschickt mit folgendem Code


Sub zMloesche()
    ActiveWorkbook.ChangeFileAccess xlReadOnly
    Kill ActiveWorkbook.FullName
    ThisWorkbook.Close False
End Sub

Damit wird die Datei gelöscht und ist nicht mal mehr im Papierkorb.

Gruß Hajo


nach oben   nach unten

Re: Vielen Dank
von: Ernst Dunkel
Geschrieben am: 14.07.2002 - 09:31:42

Ich bedanke mich bei allen, die mir bei diesem Problem geholfen haben.

Mit freundlich Grüssen

Ernst Dunkel


nach oben   nach unten

Der helle Wahnsinn....
von: Ramses
Geschrieben am: 14.07.2002 - 10:57:29

Hallo Hajo,

Damit wird das exclusive File-Handling einer Anwendung umgangen.
Da hat MS wohl die Hausaufgaben nicht gemacht :-))

Gruss Rainer

nach oben   nach unten

Re: Der helle Wahnsinn....
von: L.Vira
Geschrieben am: 14.07.2002 - 23:06:36

Das funtioniert aber nur, wenn die Datei beim Öffnen nicht schreibgeschützt war.

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "VBA: Arbeitsmappe nach Verfallsdatum löschen"