Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1928to1932
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
Inhaltsverzeichnis

Datei per VBA vor Schließen kopieren.

Datei per VBA vor Schließen kopieren.
13.05.2023 17:49:23
Simon

Hallo, ich habe auf einem Server eine Datei. Diese soll vor dem beenden in einen anderen Ordner kopiert werden. Ich habe zwei Formeln die aber beide nicht klappen.

1. Formel von Chatgpt

Private Sub Workbook_BeforeClose(Cancel As Boolean)

    'Pfad und Dateinamen der Quelldatei
    Dim Quellpfad As String
    Dim Quellname As String
    Quellpfad = ActiveWorkbook.Path & "\"
    Quellname = ActiveWorkbook.Name

    'Pfad und Dateinamen des Zielorts
    Dim Zielordner As String
    Dim Zielname As String
    Zielordner = "C:\Users\" & Environ("username") & "\OneDrive - Firma\Unerordner 1\Unterordner 2\Unterordner 3\Backup vom Server\"
    Zielname = ActiveWorkbook.Name

    'Kopiere die Datei
    FileCopy Quellpfad & Quellname, Zielordner & Zielname
End Sub
Wenn ich die Formel in ein Modul kopiere passiert gar nix und wenn ich die Formel in "Diese Arbeitsmappe" kopiere bekomme ich "Fehler 70 - Zugriff Verweigert"

2. Formel hier aus dem Forum
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim myFSO As Object
Dim qFolder As String
Dim tFolder As String
Dim qFile As String
qFile = "Liste 2023.xlsm"
qFolder = "\\Server2023\Firma\Person\Team"
tFolder =  "C:\Users\" & Environ("username") & "\OneDrive - Firma\Unerordner 1\Unterordner 2\Unterordner 3\Backup vom Server\"
'Kill tFolder & qFile
Set myFSO = CreateObject("Scripting.FileSystemObject")
myFSO.movefile qFolder & qFile, tFolder & qFile
'Alternativ kopieren
'myFSO.copyfile qFolder & qFile, tFolder & qFile, True
End Sub
Wenn ich die Formel in ein Modul kopiere passiert gar nix und wenn ich die Formel in "Diese Arbeitsmappe" kopiere bekomme ich "Laufzeitfehler 53 - Datei nicht gefunden"
Vl. habe ich hier was falsches eingetragen. Erklärung für die Formel gab es keine.
Private Sub Workbook_BeforeClose(Cancel As Boolean) habe ich in dieser Formel selber eingetragen. Da stand vorher Sub Move_File().

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei per VBA vor Schließen kopieren.
14.05.2023 12:09:54
Jowe
vielleicht weil es den "Unerordner" nicht gibt?
Gruß
Jochen


AW: Datei per VBA vor Schließen kopieren.
14.05.2023 23:29:47
Simon
Die Namen hier sind nur Synonym für die richtigen Ordernnamen.


AW: Datei per VBA vor Schließen kopieren.
15.05.2023 23:12:35
Yal
Hallo Simon,

sehe das richtig, dass Du eine Datei öffnest und darin Anpassungen vornimmst, aber bevor Du mit dieser geänderten Variante die Alte überschreibst, möchtest Du die vorige Version (vor den Anpassungen) "auf die Seite stellen"?

Es wird nicht funktionieren: deine Datei ist gerade offen. Da merkt sich Windows etwas, was man "Reservierung" nennt: mit der Datei auf dem Festplatte kannst Du nicht machen, weil sie gerade geöffnet und in Verarbeitung ist.
Alternativ wäre sofort nach dem Öffnen einen SaveCopyAs auf dem Zielverzeichnis zu machen. Aber da hast Du schnell Back-up Datei gleich aktuelle Datei. Vermutlich nicht was Du willst.

Lange Rede: wenn Du sowieso OneDrive verwendest, solltest Du eher schauen, wie dort die Versionierung gemacht wird und wie Du auf die vorige Version deiner Datei zugreifen kannst. Was Du hier zu implementieren versucht, existiert schon out-of-the-box und ist dir wahrscheinlich zwei Klick entfernt verfügbar.

VG
Yal

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige