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-Key: 157758

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

Printed on: April 19, 2024 at 23:04 o'clock

Member: colinardo
colinardo Dec 30, 2010 at 11:57:36 (UTC)
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
Member: SaarAdmin
SaarAdmin Dec 30, 2010 at 12:22:12 (UTC)
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
Member: colinardo
colinardo Dec 30, 2010 at 12:38:39 (UTC)
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.
Member: SaarAdmin
SaarAdmin Dec 30, 2010 at 12:45:43 (UTC)
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?
Member: colinardo
colinardo Dec 30, 2010 at 16:18:04 (UTC)
Goto Top
schick mir deine Email via pm dann schick ich dir das addin. Dann kannt du Fehler im Code kopieren ausschliessen
Mitglied: 76109
76109 Dec 31, 2010 at 11:07:26 (UTC)
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....?
Member: SaarAdmin
SaarAdmin Jan 03, 2011 at 21:29:57 (UTC)
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
Mitglied: 76109
76109 Jan 03, 2011 at 22:28:07 (UTC)
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
Member: SaarAdmin
SaarAdmin Jan 04, 2011 at 05:25:55 (UTC)
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
Member: SaarAdmin
SaarAdmin Jan 10, 2011 at 13:12:04 (UTC)
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
Member: speedygonsales
speedygonsales Jun 07, 2011 at 21:39:52 (UTC)
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
Member: blume01
blume01 Aug 17, 2011 at 12:38:23 (UTC)
Goto Top
Hallo,
kann man noch den vollständigen Code bekommen?
Ich bräuchte auch genau dieses Add In.
Danke und Gruss
Member: colinardo
colinardo Apr 10, 2013, updated at Aug 08, 2013 at 11:08:33 (UTC)
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
Member: ultrap
ultrap Apr 26, 2013 at 12:20:39 (UTC)
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!
Member: colinardo
colinardo Apr 26, 2013 at 12:24:15 (UTC)
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
Member: ultrap
ultrap Apr 26, 2013 at 12:29:47 (UTC)
Goto Top
Danke noch einmal!