saaradmin
Goto Top

Excel 2010 Automatisches Speichern alle X Minuten

Hallo !

Ich habe ein kleines Problem mit Excel 2010.

Vorher hatten wir Office 2003 im Einsatz. Es gab für Excel 2003 ein Addin, dass uns die Möglichkeit gab, alle X Minuten automatisch zu speichern, bzw. es kam die Frage ob gespeichert werden soll. Dies war eine XLA-Datei, die über Addons eingefügt werden konnte.

Leider funktioniert diese XLA mit Excel 2010 nicht mehr, sie lässt sich zwar einbinden und anzeigen, aber sie bringt weder eine Meldung, noch speichert sie automatisch.

Gibt es für Excel 2010 auch solch ein Addon? Standardmässig bringt es diese Funktion leider nicht mit, oder habe ich da etwas übersehen? Bitte nicht verwechseln mit Automatisch Speichern und Wiederherstellen, siehe auch hier bei Microsoft:

http://office.microsoft.com/de-at/word-help/automatisches-speichern-und ...

Ich hoffe, mir kann jemand helfen.

Danke und viele Grüße

Content-ID: 157758

Url: https://administrator.de/contentid/157758

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

colinardo
colinardo 30.12.2010 um 12:57:36 Uhr
Goto Top
Du kannst dir ganz einfach selber ein Addin bauen:

Erstelle ein Excel-Dokument, öffne den die VBA-Umgebung (ALT-F11), und füge folgenden Code in den Abschnitt "Diese Arbeitsmappe" ein:
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    If Success = True Then
        interval = 300
        starttime = timer
        Do
            Do While timer < (starttime + interval)
                DoEvents
            Loop
            AutoSaveWorksheet
            starttime = timer
        Loop
    End If
End Sub

Sub AutoSaveWorksheet()
    ActiveWorkbook.Save
    Set objShell = CreateObject("WScript.Shell")  
    objShell.Popup "Dokument wird automatisch gespeichert ..." & vbCrLf & "Dialog schließt automatisch!", 1, "AutoSpeichern", 64  
    Set objShell = Nothing
End Sub
Dann speicherst du die Arbeitsmappe als Excel-Addin mit der Endung "*.xlam", und startest Excel neu.
Jetzt öffnest du in Excel: "Datei/Optionen/AddIns" -> unten im Fenster "Verwalten" auf "Excel-Addins" stellen und auf Verwalten klicken.
Dort im Dialog das vorher gespeicherte Add-In hinzufügen und aktivieren.

Sobald du jetzt ein Dokument erstellst und dies dann das erste mal speicherst. Aktiviert sich eine Schleife die alle 5 Minuten das Dokument automatisch speichert und kurz einen Dialog anzeigt der nach 1 Sekunde automatisch verschwindet.
Den Abstand zwsichen den Speicherintervallen kannst du im Code mit der Variablen "interval" anpassen ( Einheit : Sekunden)

Dies ist einganz einfaches Add-In. Wenn du mir deine genauen Anforderungen an das Add-In schickst kann ich es nach deinen Vorgaben erweitern oder abändern.

Grüße Uwe
SaarAdmin
SaarAdmin 30.12.2010 um 13:22:12 Uhr
Goto Top
Hallo Uwe,

vielen Dank, das hört sich doch schon mal sehr sehr viel versprechend an. Ich bin auch genauso vorgegangen, wie du mir geschrieben hast und konnte das Addin auch einbinden. Aber irgendwie hat er es nicht automatisch gespeichert. Habe ich da irgendwas falsch gemacht? Ich habe den Code eigentlich so reinkopiert, wie du es oben geschrieben hast:

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
If Success = True Then
interval = 300
starttime = Timer
Do
Do While Timer < (starttime + interval)
DoEvents
Loop
AutoSaveWorksheet
starttime = Timer
Loop
End If
End Sub

Sub AutoSaveWorksheet()
ActiveWorkbook.Save
Set objShell = CreateObject("WScript.Shell")
objShell.Popup "Dokument wird automatisch gespeichert ..." & vbCrLf & "Dialog schließt automatisch!", 1, "AutoSpeichern", 64
Set objShell = Nothing
End Sub
colinardo
colinardo 30.12.2010 um 13:38:39 Uhr
Goto Top
Die Routine startet es wenn du ein neues Dokument das "erste mal" speicherst. Und das das erste mal nach 5 Minuten.
Erstelle mal ein Dokument und geht dann mit (ALT-F11) in den Code-Editor und schau nach ob das Add-In überhaupt geladen ist.
Wohlmöglich das die Sicherheitseinstellungen für Add-Ins im Weg stehen. Schau mal unter: "Datei/Optionen/Sicherheitscenter/Einstellungen für das Sicherheitscenter" unter AddIns ob die Option: "Anwendungs-Add-Ins müssen von einem vertrauenswürdigen Herausgeber signiert sein" aktiviert ist, und deaktiviere diese.
SaarAdmin
SaarAdmin 30.12.2010 um 13:45:43 Uhr
Goto Top
Die Sicherheitsoptionen hatte ich eben auch schon gecheckt., der Haken ist entfernt. Das Addin wird auch geladen, wenn ich mit ALT+F11 reingehe, dann sehe ich den Code dieses Addins. Ich habe den Wert testweise mal von 300 sekunden, also 5 Minuten heruntergesetzt auf 30 Sekunden. Aber es wird nicht gespeichert. Ich vermute mal, dass ich da irgendwas beim Code falsch reinkopiert habe, denn ansonsten sieht ja eigentlich alles richtig aus, oder?
colinardo
colinardo 30.12.2010 um 17:18:04 Uhr
Goto Top
schick mir deine Email via pm dann schick ich dir das addin. Dann kannt du Fehler im Code kopieren ausschliessen
76109
76109 31.12.2010 um 12:07:26 Uhr
Goto Top
Hallo SaarAdmin!

@softmeister
Das AddIn kann/sollte so nicht funktionieren. Der Code sollte in dieser Form nur in normalen Arbeitsmappen verwendet werden.

Normale Arbeitsmappe:
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
AddIns:
Private Sub Application_WorkbookAfterSave(ByVal Wb As Workbook, ByVal Success As Boolean)

Als AddIn in etwa so:
Schritt 1 - Neue Arbeitsmappe öffnen und in den VBA-Editor wechseln

Schritt 2 - Diesen Code in "Diese Arbeitsmappe" einfügen:
Option Explicit

Dim RegistryEventHandler As New EventClassModule

Private Sub Workbook_Open()
    Set RegistryEventHandler.App = Application
End Sub

Schritt 3 - Project einfügen (rechte Maustaste) Klassenmodul

Schritt 4 - Ansicht Eigenschaftsfenster Klassenmodul-Name ändern in "EventClassModule"

Schritt 5 - Diesen Code in das Klassenmodul "EventClassModule" einfügen:
Option Explicit

Public WithEvents App As Application

Private Sub App_WorkbookAfterSave(ByVal Wb As Workbook, ByVal Success As Boolean)

   'Abbrechen wenn Wb=AddIn oder Workbook-Speichervorgang erfolglos  
    If Wb Is ThisWorkbook Or Success = False Then Exit Sub  
    
    'Zum Testen nur mal eine Meldung ausgeben, wenn vorhandene/neue Arbeitsmappe gespeichert wurde  
    MsgBox "Die Datei: " & Wb.Name & " wurde gespeichert."  
End Sub

Schritt 6 - Menu>Debuggen>Kompilern von VBA-Project (sollte fehlerfrei sein)

Schritt 7 - Speichern unter ..\User\..\Microsoft\AddIns\AutoSave.Xla

Schritt 8 - Menu>Extras>AddIns>Durchsuchen, AddIn auswählen und Excel schließen

Schritt 9 - Excel wieder öffnen und Testen

Gruß Dieter

PS.
Bei der Timer-Funktion stelle ich mir noch die Frage?
Was passiert/passieren soll, wenn mehr als eine Arbeitsmappe geöffnet sind und/oder eine Arbeitsmappe erneut manuell gespeichert/geschlossen wird....?
SaarAdmin
SaarAdmin 03.01.2011 um 22:29:57 Uhr
Goto Top
Hallo Dieter,

auch dir schonmal vielen Dank für deine Hilfe. Ich habe deinen Vorschlag nun genauso umgesetzt wie von dir geschrieben und beim manuellen Speichern kommt nun eine Meldung über die Speicherung. Aber automatisiert wird die Datei nicht gespeichert. Habe ich da etwas übersehen oder ist dort nirgendwo eine Zeit eingestellt?

Zu deiner Frage, wenn mehrere Datien geöffnet sind, dann sollten diese alle nach einer gewissen Zeit automatisiert gespeichert werden, so war es auch beim Addon in Excel 2003.

Viele Grüße

Dirk
76109
76109 03.01.2011 um 23:28:07 Uhr
Goto Top
Hallo Dirk!

Zitat von @SaarAdmin:
auch dir schonmal vielen Dank für deine Hilfe. Ich habe deinen Vorschlag nun genauso umgesetzt wie von dir geschrieben und
beim manuellen Speichern kommt nun eine Meldung über die Speicherung. Aber automatisiert wird die Datei nicht gespeichert.
Habe ich da etwas übersehen oder ist dort nirgendwo eine Zeit eingestellt?
Das war zunächst ja auch nur erstmal ein Test, ob bei einer manuellen Speicherung eine Meldung ausgegeben wird. Die entsprechende Timer- bzw. AutoSave-Funktion fehlt natürlich nochface-wink

Gruß Dieter
SaarAdmin
SaarAdmin 04.01.2011 um 06:25:55 Uhr
Goto Top
achso. face-smile na dann würde ich sagen, der Test hat funktioniert. Und wie kriege ich nun einen Timer da rein?

viele Grüsse
SaarAdmin
SaarAdmin 10.01.2011 um 14:12:04 Uhr
Goto Top
Ich schliesse den Fall hier nun mal ab ... danke an alle nochmal für die Hilfe. Ich habe nun von Softmeister ein Addon erhalten, dass wunderbar funktioniert ... Also wer es benötigt, am besten an Softmeister wenden. face-smile
speedygonsales
speedygonsales 07.06.2011 um 23:39:52 Uhr
Goto Top
Hallo

Wollte nicht noch einen Thread dewegen öffnen, aber vielleicht kann mir Softmeister auch auf die sprünge helfen, da ich das Autosave Addin auch bräuchte. Jedoch für mein 2007er Excel.

Wäre nett wenn ich ein wenig hilfe bekommen könnte. Sollte Arbeitsmappe automatisch speichern mit einem kurzem Hinweis als Popup Fenster das sich automatisch wieder schließt.

Danke schon vorab.

Kai
blume01
blume01 17.08.2011 um 14:38:23 Uhr
Goto Top
Hallo,
kann man noch den vollständigen Code bekommen?
Ich bräuchte auch genau dieses Add In.
Danke und Gruss
colinardo
colinardo 10.04.2013, aktualisiert am 08.08.2013 um 13:08:33 Uhr
Goto Top
Da gehäuft Anfragen für das Plugin bei mir eingegangen sind, hier nochmal für alle die das Plugin für Excel 2010 benötigen:
-->Download hier (Aktuelle Version 1.0.6 von FEB 2013)
Bei Verwendung in Unternehmen wäre ich über eine kleine Spende glücklich face-wink Danke

Grüße colinardo
ultrap
ultrap 26.04.2013 um 14:20:39 Uhr
Goto Top
Hallo colinardo, gibt es das Plugin auch für excel 2007 und kann man das speichern auch im Sekundenbereich einstellen? Danke für eine Antwort!
colinardo
colinardo 26.04.2013 um 14:24:15 Uhr
Goto Top
Zitat von @ultrap:
Hallo colinardo, gibt es das Plugin auch für excel 2007 und kann man das speichern auch im Sekundenbereich einstellen? Danke
für eine Antwort!
Nur Excel 2010, im moment ist 1min Minimum
G. colinardo
ultrap
ultrap 26.04.2013 um 14:29:47 Uhr
Goto Top
Danke noch einmal!