Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
772to776
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
772to776
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

löschen einer Datei

löschen einer Datei
21.06.2006 22:09:53
Matze
Guten Abend zusammen,
habe ein kleines Problemchen und komme nicht selber auf die Lösung. Vielleicht hat jemand von Euch eine Idee.
Mit dem Modul möchte ich regelmäßige Backups anlegen. Es funktioniert bei der schrittweisen Abarbeitung perfekt, lass ich das Modul normal laufen, löscht er die Excel-Datei nicht. Warum nicht? Vermutlich ist der Packer noch am arbeiten, aber wie kann ich das Ende des Packens abfragen?
Danke im voraus für Eure Hinweise.
mfg Matze

Sub Backup_zippen()
Dim sDatei As String
Dim sDateineu As String
Dim sPfad As String
Dim Datum As Date
On Error GoTo ErrorHandler    ' Fehlerbehandlung aktivieren
sPfad = Application.ActiveWorkbook.Path & "\Sicherungen\"
' Wechselt das aktuelle Laufwerk.
ChDrive sPfad
' Wechselt das aktuelle Verzeichnis oder den aktuellen Ordner.
ChDir sPfad
' aktuelles Datum
Datum = Format(Now, "m/d/yyyy")
' aktueller Dateiname
sDatei = ActiveWorkbook.Name
' neuer Dateiname zusammengesetzt aus alten Namen und aktuellem Datum
sDateineu = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & Datum & ".zip"
' Dateikopie speichern
ActiveWorkbook.SaveCopyAs sPfad & sDatei
Shell sPfad & "zip.exe " & sDateineu & " " & sDatei
' damit er noch 2s zeit hat zum fertig werden
Application.Wait (Now + TimeValue("0:00:02"))
Kill sPfad & sDatei    ' loescht ohne Rueckfrage!
ErrorHandler:    ' Fehlerbehandlungsroutine.
Select Case Err.Number    ' Fehlernummer auswerten.
Case 53
MsgBox "Die gewünschte Datei wurde nicht gefunden!"
Case Else
' Andere Fälle hier bearbeiten...
End Select
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: löschen einer Datei
21.06.2006 22:46:34
Josef
Hallo Matze!
Ungetestet!
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private Declare Function CloseHandle Lib "kernel32" (ByVal _
  hObject As Long) As Long

Private Declare Function OpenProcess Lib "kernel32" (ByVal _
  dwDesiredAccess As Long, ByVal bInheritHandle As _
  Long, ByVal dwProcessId As Long) As Long

Private Declare Function GetExitCodeProcess Lib "kernel32" _
  (ByVal hProcess As Long, lpExitCode As Long) As Long

Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Const STILL_ACTIVE = &H103
Const PROCESS_ALL_ACCESS = &H1F0FFF

Private Function IsActive(ByVal TaskID As Long) As Boolean
Dim Handle As Long, ExitCode As Long

Handle = OpenProcess(PROCESS_ALL_ACCESS, False, TaskID)
Call GetExitCodeProcess(Handle, ExitCode)
Call CloseHandle(Handle)

IsActive = IIf(ExitCode = STILL_ACTIVE, True, False)
End Function


Sub Backup_zippen()
Dim sDatei As String
Dim sDateineu As String
Dim sPfad As String
Dim Datum As Date
Dim result As Long

On Error GoTo ErrorHandler ' Fehlerbehandlung aktivieren

sPfad = Application.ActiveWorkbook.Path & "\Sicherungen\"
' Wechselt das aktuelle Laufwerk.
ChDrive sPfad
' Wechselt das aktuelle Verzeichnis oder den aktuellen Ordner.
ChDir sPfad
' aktuelles Datum
Datum = Format(Now, "m/d/yyyy")
' aktueller Dateiname
sDatei = ActiveWorkbook.Name
' neuer Dateiname zusammengesetzt aus alten Namen und aktuellem Datum
sDateineu = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & Datum & ".zip"
' Dateikopie speichern
ActiveWorkbook.SaveCopyAs sPfad & sDatei
result = Shell(sPfad & "zip.exe " & sDateineu & " " & sDatei)

Do
  Sleep 100
  DoEvents
Loop While IsActive(result)


Kill sPfad & sDatei ' loescht ohne Rueckfrage!

ErrorHandler: ' Fehlerbehandlungsroutine.
Select Case Err.Number ' Fehlernummer auswerten.
  Case 53
    MsgBox "Die gewünschte Datei wurde nicht gefunden!"
  Case Else
    ' Andere Fälle hier bearbeiten...
End Select
End Sub


Gruß Sepp

Anzeige
abgeschlossen: löschen einer Datei
22.06.2006 19:10:52
Matze
Hallo Sepp,
danke funktioniert tadellos.
mfg Matze

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige