Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kopie von Datei beim schließen ablegen
#1
Hallo an Euch,

es kommt vor das eine Excel Datei in einem bestimmten Ordner immer von jemandem gelöscht wird.

Gerne würde ich das von der Datei beim schließen eine Kopie in einen Ordner mit meiner Pfadangabe abgelegt wird.Die Kopie der Datei soll genau so heißen wie das Original nur am Ende soll Kopie stehen.
Beim nächsten schließen kann die abgelegt Kopie überschreiben werden. Damit ich immer eine aktuelle Kopie habe.

Habe mit dem Makro Recorder was versucht. Aber das Ergebnis ist Mangelhaft.



Code:
Sub Makro1()
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Users\XXXXXX\Desktop\Backup Test\Backup\ThisWorkbook.Name", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
Antworten Top
#2
Für Leute die auch mal so ein Problem haben hier die Lösung:

Code:
Sub Backup_Sicherung()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ThisWorkbook.SaveCopyAs Filename:="\\XXXXXXXXX\XXXXXX\XXXX-XXXXXXXX\Backup_Dateien\" & "Kopie_" & ActiveWorkbook.name
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Antworten Top
#3
Hi,

ThisWorkbook.Name ist eine Eigenschaft von ThisWorkbook und möchte auch als solche behandelt werden.
Code:
ActiveWorkbook.SaveAs Filename:= _
        "C:\Users\XXXXXX\Desktop\Backup Test\Backup\" & ThisWorkbook.Name, FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
- Wieso eigentlich einmal ActiveWorkbook und dann ThisWorkbook? Du solltest dich schon entscheiden, was du haben willst.
- Wieso verwendest du nicht die SaveCopyAs-Methode? Die ist genau für so etwas gedacht.
- Und dann solltest du vorher noch Application.DisplayAlerts auf False und danach wieder auf True setzen, damit dir Rückfrage zum Überschreiben unterbleibt.
- Ebenso würde ich keine eigene Routine verwenden, da man die händisch aufrufen muss, sondern ich würde das Workbook_BeforeSave()-Event verwenden. Das wird automatisch bei jedem Speichern aufgerufen.

Und ganz wichtig: Es ist besser dafür zu sorgen, dass keiner die Datei löscht! Dann brauchst du den ganzen Quatsch nicht. Das lässt sich ganz einfach in den Berechtigungen des Filesystems festlegen, indem du die Löschberechtigung allen (außer dir) entziehst.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste