Excel / VBA Optimierung
28.09.2021 16:48:37
Excel
ich möchte niemanden langweilen und komme deswegen direkt zur Sache:
Ich habe ein Excel-Zeiterfassungstool erstellt, in welchem bereits mehrere, funktionierende Makros laufen. Bei einer Sache bräuchte ich allerdings Unterstützung:
Ich möchte einen VBA Code schreiben, welcher
a) in dem Verzeichnis, in welchem die Excel Datei aktuell gespeichert ist einmalig einen versteckten Ordner anlegt, sofern dieser nicht schon existiert, welcher "[Backup | Zeiterfassungstools]" heißt und
b) bei jedem Öffnen der Excel Datei (des Zeiterfassungstools) eine ebenfalls versteckte Backupdatei mit dem Namen "[Backup] + Name der zu sichernden Backupdatei" im Backup Ordner anlegt, welche bei jedem weiteren Öffnen der Excel Datei (des Zeiterfassungstools) überschrieben werden soll.
Folgenden Code habe ich bereits geschrieben, welcher eine Backupdatei (versteckt) anlegt...
Sub BackUp()
'Erstellt ein Backup der aktuell geöffneten Excel-Datei auf demselben Pfad
ThisWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & _
"\" & "[Backup]" & " " & _
ThisWorkbook.Name
'Versteckt die Backup-Datei
SetAttr ThisWorkbook.Path & _
"\" & "[Backup]" & " " & _
ThisWorkbook.Name, vbHidden
End Sub
a) Wie schaffe ich es, dass die so erstellte Backup Datei wie oben beschrieben in einem Backup Ordner gespeichert werden?b)...leider kommt es beim zweiten Öffnen und damit Anlegen der versteckten Backupdatei zu einem Laufzeitfehler. Kommentiere ich das "verstecken" im Code aus, funktioniert alles und die Backup-Datei wird ganz normal überschrieben.
Wie lässt sich das verhindern?
Vielen Dank für eure Unterstützung!
Gruß
Excel Friend