Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
648to652
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige