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.

Backup mit Unload
#1
Hallo an alle!

Ich wäre für mein Problem für Eure Hilfe sehr dankbar.

In der Arbeitsmappe habe ich folgenden Code:
Code:
Private Sub Workbook_Open()

'UserForm Login aufrufen
UfLogin.Show

End Sub
Im Modul habe ich diesen Code:
Code:
' Backup erstellen
Sub auto_close()

Dim Altname As String, Neuname As String, Pfad As String


If Range("B2").Value = "Nein" Then Exit Sub


Pfad = ThisWorkbook.Path & "\Backup-Versandliste\"
If Len(Dir(Pfad, vbDirectory)) = 0 Then MkDir Pfad 'Backupordner erstellen wenn nicht vorhanden
ThisWorkbook.Save
Altname = ThisWorkbook.FullName
If Right$(Pfad, 1) <> "\" Then Pfad = Pfad + "\"
Neuname = Pfad & "Backup-" & Format(Now, "DD-MM-YYYY") & "-" & ThisWorkbook.Name
On Error Resume Next
Kill Pfad & "Backup-" & Format(Now, "DD-MM-YYYY") & "-" & ThisWorkbook.Name 'Alte Backupdatei gleicher Tag entfernen
ThisWorkbook.SaveAs Filename:=Neuname

Workbooks.Open (Altname)

Unload UfLogin (Die stelle funktioniert aber so nicht!)

ThisWorkbook.Close
End Sub

Jetzt habe ich ein kleines Problem, obwohl alles super Funktioniert.

Problem: Datei öffnen, Userform startet. Daten rein alles ok!
Beim schließen der Datei wird das Backup erstellt und die Altdatei nochmal geöffnet.

Danke für Eure Unterstützung

Jetzt soll er allerdings nicht mehr die Userform öffnen! sondern einfach die Datei schließen, wenn das Backup durchgelaufen ist
Antworten Top
#2
Hallo,

nimm fürs Öffnen ebenfall die ältere Version wie beim Close in einem normalen Modul:

Code:
Sub Auto_Open()
  'UserForm Login aufrufen
  UfLogin.Show
End Sub

Das Workbook_Open()-Ereignis im Modul DieseArbeitsmappe löschst Du dann.

Gruß, Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Andyle
Antworten Top
#3
Hi

Schau dir mal SaveCopyAs an.

Gruß Elex
Antworten Top
#4
Danke Elex.

Hab diese Variante auch schon getestet, allerdings wird da nicht ob speichern(überschreiben) nachgefragt, sondern einfach nur kopiert.

Deshalb hab ich die Variante von Kuwer genutzt

Trotzdem allen vielen Dank für Eure super schnelle Hilfe
Antworten Top
#5
Hallo Andyle,

das Du auf die uralten, von M$ nicht mehr empfohlenen Ereignis-Methoden umsteigst, verstehe ich nicht.
ThisWorkbook.SaveCopyAs ist doch genau die richtige Methode, um Sicherungskopien zu erstellen.
Wenn Du verhindern willst, daß die vorherige Sicherungskopie des selben Tages überschrieben wird, dann hänge noch einen Tages-Indexzähler dran, aber dem Anwender es zu überlassen zu entscheiden, ob die Vorgänger-Sicheruingsdatei überschrieben wird, halte ich für keine gute Idee.

Gruß von Luschi
aus klein-Paris
Antworten Top
#6
Moin

Wieso sollte es überhaupt zur Überschreiben Abfrage kommen wenn du eh vorher ein Kill machst?

Gruß Elex
Antworten Top
#7
Wieso überhaupt etwas Programmieren? Eure IT soll doch einfach die in Windows integrierte Möglichkeit des Dateiversionsverlaufs aktivieren. Damit kannst du jederzeit eine frühere Version jeder beliebigen Datei hervorzaubern.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • derHoepp
Antworten Top


Gehe zu:


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