Laufzeitfehler 70: Geht es besser ihn abzufangen?
Holger,
ich habe unten stehendes Makro. Dieses erstellt automatisch ein Backup der Datei, zippt dieses und löscht die Kopie dann wieder weg. Genau hier kommt ein Laufzeitfehler 70. Anscheinend ist das Makro zu schnell oder Excel löst den Zugriff von der Datei zu langsam, jedenfalls kommt bei der Zeile mit KILL ... ein Laufzeitfehler. Ich habe nun einfach eine Application Wait eingebaut von einer Sekunde und so läft das Makro.
Für mich ist das jedoch etwas unbefriedigend. Erstens, was wenn es doc mal länger als eine Sekunde dauert. Zweitens ist es nicht sauber gelöst.
Mein Anspruch wäre, die Freigabe des Files vor dem Kill Befehl zu erzwingen, um so das Problem zu lösen.
Hat jemand hierzu eine Idee oder einen Code?
Option Explicit
Option Private Module
Const BDir = "Backup Files"
Sub GenerateBackUp()
Dim wbMaster As Workbook
Dim strBackUpPath As String, strBackUpFile As String, strSysInfo As String, _
strRARName As String
Set wbMaster = ThisWorkbook
ChDrive wbMaster.Path
ChDir wbMaster.Path
If IsDiskFolder(BDir) = False Then
MkDir BDir
End If
strRARName = Format(Date, "DDDD") & " " & Date
strBackUpFile = Left(wbMaster.Name, InStr(1, wbMaster.Name, ".") - 1) & _
" " & strRARName & _
Mid(wbMaster.Name, InStr(1, wbMaster.Name, "."))
strBackUpPath = wbMaster.Path & "\" & BDir & "\" & _
strBackUpFile
If IsDiskFolder(strBackUpPath) = True Then Kill strBackUpPath
ActiveWorkbook.SaveCopyAs Filename:=strBackUpPath
If CreateRAR(Chr(34) & strBackUpFile & Chr(34), "RAR", wbMaster.Path & "\" & BDir, Date & ". _
_
rar") = True Then
Application.Wait (Now + TimeValue("0:00:01"))
Kill strBackUpPath
Else
MsgBox "Fehler beim Zippen des folgenden Files " & Chr(10) & _
strBackUpPath & Chr(10) & _
", bitte prüfen!", vbCritical
End If
Set wbMaster = Nothing
End Sub