Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: speichernlöschen(von Leo) Nr.2

Forumthread: VBA: speichernlöschen(von Leo) Nr.2

VBA: speichernlöschen(von Leo) Nr.2
07.08.2005 23:23:50
Leo)
Hallo Leo, hallo Experten,
ich habe folgenden Code von Leo und war schon ganz Happy.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Date > DateValue("06.08.2005") Then
If Dir("C:\sichern", 16) = "" Then MkDir "C:\sichern"
ThisWorkbook.SaveAs Filename:="C:\sichern\sichernlöschenb.xls"
ThisWorkbook.Saved = True
ThisWorkbook.ChangeFileAccess xlReadOnly
'die nächste Zeile sollte die Datei im Ursprungsverzeichnis löschen
'Kill ThisWorkbook.FullName
End If
End Sub

Dummerweise habe ich erst jetzt, nachdem ich "Kill Thisworkbook.FullName" aktiviert habe, bemerkt, dass die in "sichern" abgelegte Datei anschließend gelöscht wird. Eigentlich sollte die Datei in ihrem bisherigen Verzeichnis gelöscht werden. Umdrehen kann ich die Prozedur ja nicht, da sonst die Datei erst gelöscht wird und dann nicht mehr zum sichern zur Verfügung steht. Was kann ich tun?
Gruß
HansH
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: speichernlöschen(von Leo) Nr.2
07.08.2005 23:27:25
Leo)
Hallo Hans,

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Date > DateValue("06.08.2005") Then
If Dir("C:\sichern", 16) = "" Then MkDir "C:\sichern"
ThisWorkbook.ChangeFileAccess xlReadOnly
Kill ThisWorkbook.FullName
ThisWorkbook.SaveAs Filename:="C:\sichern\sichernlöschenb.xls"
End If
End Sub

Erst löschen, dann unter anderem Namen speichern. Sonst zeigt ja Thisworkbook.Fullname bereits auf den neuen Pfad.
Gruß Matthias
Anzeige
AW: VBA: speichernlöschen(von Leo) Nr.2
07.08.2005 23:34:49
Leo)
Hallo Hans,
oder so, ist sicherer, denn wenn man die evtl. Nachfrage nach überschreiben ablehnt, ist am Ende alles weg:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
dim fn As String
If Date > DateValue("06.08.2005") Then
If Dir("C:\sichern", 16) = "" Then MkDir "C:\sichern"
fn = ThisWorkbook.FullName
Application.DisplayAlerts = False 'Nachfrage abschalten
ThisWorkbook.SaveAs Filename:="C:\sichern\sichernlöschenb.xls"
Application.DisplayAlerts = True
Kill fn
End If
End Sub

Gruß Matthias
Anzeige
danke, prompter Service !
07.08.2005 23:51:00
HansH
Hallo Matthias,
hätte nicht gedacht, dass man erst löschen und dann speichern kann :-). Deine 2. Lösung ist perfekt.
Vielen Dank an Dich und Leo
gute Nacht und einen schönen neuen Tag
HansH
;

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