Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
344to348
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
344to348
344to348
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

automatische Sicherungskopie

automatische Sicherungskopie
02.12.2003 11:41:07
Silvie
Mahlzeit!
Weiß jemand von Euch, ob es in Excel die Möglichkeit gibt, automatisch eine Sicherungskopie zu erstellen und zwar nur von den Dateien die aus dem Verzeichnis C:\Test\Allgemein\... geöffnet und gespeichert werden, davon soll dann eine Sicherungskopie im Verzeichnis (z.B.: C:\Test\Sicherungskopie) angelegt werden.

Ich möchte jetzt nicht jeder einzelnen Datei ein Makro zuweisen müssen, da es sich um über 100 Dateien handelt.

Sobald eine Datei aus dem bestimmten Verzeichnis geöffnet und gespeichert wird, soll diese Sicherungskopie erstellt werden.

Hoffe ich hab mich einigermaßen deutlich ausgedrückt... und hoffentlich gibts
ne Lösung!

Vielen Dank schonmal

Silvie

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: automatische Sicherungskopie
02.12.2003 11:45:52
NE
Hallo,

schau' mal unter speichern > Extras > allgemeine Optionen > Sicherungskopie, das mal anhakeln ;-)

lg Nancy
nee, das meinte ich nicht
02.12.2003 11:53:05
silvie
es soll doch nur ein bestimmtes Verzeichnis betreffen und in ein bestimmtes gespeichert werden...
AW: nee, das meinte ich nicht
02.12.2003 12:04:13
Nepumuk
Hallo Silvie,
mit einem Klassenmodul der Application in einem AddIn wäre das machbar. Ich kann aber nicht verhindern, das der User im Add-Ins-Manager das Addin entlädt. Außerdem müsste das AddIn auf jedem Rechner, so es sich um ein Netzwerk handelt, gespeichert sein, der auf die Mappen in dem Verzeichnis zugreifen kann.
Gruß
Nepumuk
und wie geht das?
02.12.2003 12:09:34
silvie
Danke erstmal Nepumuk!
Aber kannst du das noch mal genauer erklären?

Gruß
Silvie
Anzeige
AW: und wie geht das?
02.12.2003 12:27:50
Nepumuk
Hallo Silvie,
ein Klassenmodul ist ein Modul, das auf Ereignisse der Klasse, in diesem Fall das Applikation-Objekt reagiert. Das Application-Objekt ist in diesem Fall Excel. Wenn nun eine Mappe geöffnet wird, wird ein Ereignis ausgelöst. In dieser Ereignisprozedur kann nun abgefragt werden aus welchem Verzeichnis die Mappe stammt und bei einem bestimmten Verzeichnis einfach eine Kopie der gerade geöffneten Mappe in ein anders Verzeichnis schreiben.
Ein Addin ist eine spezielle Excelmappe in der sich Makros befinden. Wenn diese Mappe im Add-Ins-Manager - Verzeichnis steht und ein Häkchen zum aktivieren davor ist, wird es automatisch mit Excel geladen.
Alles klar?
Gruß
Nepumuk
Anzeige
Mensch Nepumuk...
02.12.2003 13:16:26
silvie
Deine Antwort ist nicht gerade anfängerfreundlich...
Klassenmodul kenn ich wohl, aber wo muß ich das anlegen in einer bestimmten Arbeitsmappe oder wie und dann???

:O(
AW: Mensch Nepumuk...
02.12.2003 13:43:09
Nepumuk
Hallo Silvie,
die Materie ist nicht anfängerfreundlich. Wenn ich das versuche ganz ausführlich zu erklären, dann benötige ich ca. 3 DIA A4 Seiten dazu. Ich lade dir mal eine Beispielmappe auf den Server, damit du siehst wie es vom Prinzip her funktionieren wird.

https://www.herber.de/bbs/user/2265.xls

Öffne die Mappe mal, und dann eine andere. Dann siehst du wie das Klassenmodul arbeitet.
Gruß
Nepumuk
Anzeige
AW: Mensch Nepumuk...
02.12.2003 15:23:13
Silvie
Danke!
Das ist doch schon mal was zum üben...

Silvie
AW: Mensch Nepumuk...
02.12.2003 16:32:28
Nepumuk
Hallo Silvie,
jetzt kommt der Teil, der das speichern der Kopie einer Mappe, die aus einem bestimmten Verzeichnis kommt, bewerkstelligt. Der sieht so aus.


Option Explicit
Public WithEvents App As Application
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
If Wb.Path = "D:\Eigene Dateien\Test\Allgemein" Then Wb.SaveCopyAs "D:\Eigene Dateien\Test\Sicherungskopie " & Left(Wb.Name, Len(Wb.Name) - 4) & " " & Format(Now, "dd.mm.yyyy hh.mm.ss") & " .xls"
End Sub



Code eingefügt mit: Excel Code Jeanie

Hier musst du nun die Pfade anpassen. Jetzt wird beim öffnen einer Mappe aus dem bestimmten Ordner eine Kopie angelegt, die den Dateinamen, das Datum und die Uhrzeit beinhaltet. Die Sicherheitskopie jedes mal zu überschreiben könnte fatal sein. Den wenn jemand Mist baut in der Mappe und speichert und ein anderer öffnet sie wider, dann wäre die Sicherheitskopie beim Teufel. als nächstes kommt der Teil, der nur die letzten 5 bis 10 Kopien aufbewahrt und die älteren löscht.
Gruß
Nepumuk
Anzeige
AW: Weiter gehts
02.12.2003 17:18:36
Nepumuk
Hallo Silvie,
heute dauert alles ein bisschen länger, hab nämlich die Rüsselpest. Also, so sollte es dann aussehen, wenn die Löschroutine mit eingebaut ist. Diese arbeitet jetzt mit 5 Kopien. Wenn du das ändern willst, musst du die Zahl in der Execute - Anweisung ändern.


Option Explicit
Private Const strKopiePfad As String = "D:\Eigene Dateien\Test"
Public WithEvents App As Application
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
If Wb.Path = "D:\Eigene Dateien\Test\Allgemein" Then Wb.SaveCopyAs strKopiePfad & "\Sicherungskopie " & Left(Wb.Name, Len(Wb.Name) - 4) & " " & Format(Now, "dd.mm.yyyy hh.mm.ss") & " .xls"
With Application.FileSearch
.LookIn = strKopiePfad
.FileType = msoFileTypeExcelWorkbooks
.Filename = "Sicherungskopie " & Left(Wb.Name, Len(Wb.Name) - 4) & "*"
If .Execute(msoSortByLastModified) > 5 Then Kill (.FoundFiles(1))
End With
End Sub



Code eingefügt mit: Excel Code Jeanie

Wenn dann alles so funktioniert wie du dir das vorgestellt hast, dann machen wir uns an das Addin.
Gruß
Nepumuk Schniefnase
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige