Solved

Excel 2010 Autosave (not AutoRecover)

Posted on 2012-03-15
8
3,968 Views
Last Modified: 2012-03-19
Good day to you Experts!

I'm in the search of a way to make Excel 2010 do an auto-save.  The built-in autorecover function is different and not what I need.

The functionality I'm looking for is to make Excel save the current document every X minutes, just as though I were to click the save icon / Ctrl+S / etc.  I know this functionality is not built-in (at least I'm led to believe that anyway).  Any 3rd party add-ons that do this?

BTW - my motivations are not my own.  I was tasked by my manager to find this.

Thanks to all.
0
Comment
Question by:Geisrud
  • 3
  • 3
  • 2
8 Comments
 
LVL 8

Expert Comment

by:csoussan
ID: 37726145
Per Gord Dibben (http://www.pcreview.co.uk/forums/there-auto-save-office-2007-excel-t3437008.html):

Jan Karel Pieterse has an addin called AutoSafe
which doen't alert before saving.

http://www.jkp-ads.com/download.asp

(look for AutoSafe.zip)

It doesn't overwrite the existing workbook when it saves. It saves to a user
selectable folder. And when it's done, it either deletes these backups (or
puts them in the recycle bin). And the user can always restore the backups
from the recycle bin.

Hope that helps.
0
 
LVL 14

Author Comment

by:Geisrud
ID: 37726335
Csoussan - that utility creates a copy in another location, which is not what I want.  I'm looking for something that is exactly like saving the file (an overwrite, if you prefer) - just automates it at a set interval.
0
 
LVL 8

Accepted Solution

by:
csoussan earned 500 total points
ID: 37726620
There is a comment on the JKP-ADS website by an Eric DeSouza the reads as follows:

    "For the people who want the old autosave of office 97/2000, there is "autosave.xla"
    aka "autosave.xls" that you can get to work in a newer version of office. Simply
    get an old office disk 97/2000 version, and take the single autosave.xla file. Go
    to Excel -> Tools -> Addins and then browse to the file autosave.xla. Only downside,
    you cannot change the default of 10 minutes of autosaving. The addin is password
    protected by Microsoft and cannot be altered in VBA."

I did a little research and there are others that say the same or similar things about the AUTOSAVE.XLA program.  I don't have a copy of the file but a little web searching might yield some success.  Good luck!
0
Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

 
LVL 14

Author Comment

by:Geisrud
ID: 37726822
Would you believe me if I told you that I have a copy of Office 97 readily available?  I'm looking into that autosave.xla file.  Thanks.
0
 
LVL 42

Expert Comment

by:dlmille
ID: 37727115
If the autosave.xla doesn't work for you, here's one I wrote.  You can load the file and check out the menu options in your Add-Ins menu, re: AutoSave!.  If you like it, you can save as a .xla then install it as a permanent addition to your Excel add-ins.

You can toggle the startup state (either always on, or off), you can initialize (restarts the timer) and you can set parameters (simple 1-60 minute autosave interval).

Primarily at the appropriate time, events, screen updating, and displayalerts are turned off, all workbooks are saved, then events, screen updating, and displayalerts are turned bck on.

Here's the primary code:
Option Explicit
Public runWhen As Double
Sub AutoSave_Parameters(Optional AutoSaveInterval As Variant = 10)
'Dim AutoSaveInterval As Variant
Dim bProceed As Boolean
Dim currMins As Variant

    currMins = Evaluate("'" & ThisWorkbook.Name & "'!AutoSaveInterval")
        
    If IsError(currMins) Then currMins = 10
    
    AutoSaveInterval = InputBox("Please Enter AutoSave Interval in Whole Minutes (1-60): ", Default:=currMins)
    
    'simple validation, bail on error
    If Not AutoSaveInterval = vbNullString And IsNumeric(AutoSaveInterval) Then
        bProceed = True
        If (CInt(AutoSaveInterval) <= 0 Or CInt(AutoSaveInterval) > 60) Then bProceed = False
    End If
    If Not bProceed Then
        MsgBox "Invalid input:  Number must be between 1 and 60", vbCritical, "Try Again!"
    Else
        ThisWorkbook.Names.Add Name:="AutoSaveInterval", RefersTo:=AutoSaveInterval
        Call deAutoSave_Initialize(False)
        Call AutoSave_Initialize(True)
    End If
    
End Sub
Public Sub AutoSave_Initialize(Optional bPrompt As Boolean = False)
Dim AutoSaveInterval As Variant

    AutoSaveInterval = Evaluate("'" & ThisWorkbook.Name & "'!AutoSaveInterval")

    If IsError(AutoSaveInterval) Then
        MsgBox "You Must Set AutoSave Interval, First"
    Else
        runWhen = Now() + TimeValue("00:" & AutoSaveInterval & ":00")
        Application.OnTime runWhen, "AutoSave_Now", schedule:=True
        If bPrompt Then MsgBox "AutoSave Initialized at: " & AutoSaveInterval & " mins."
    End If
End Sub
Public Sub deAutoSave_Initialize(Optional bPrompt = True)
    On Error Resume Next
    Application.OnTime earliesttime:=runWhen, procedure:="AutoSave_Now", schedule:=False
    On Error GoTo 0
    If bPrompt Then MsgBox "AutoSave Paused"
End Sub
Sub autoSave_Now()
Dim wkb As Workbook
    
    Application.EnableEvents = False
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    
    For Each wkb In Application.Workbooks
        Application.StatusBar = "Saving: " & wkb.Name & " ..."
        On Error Resume Next
        wkb.Save
        On Error GoTo 0
    Next wkb
    
    Call AutoSave_Initialize
    
    Application.StatusBar = False
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Application.EnableEvents = True
End Sub

Open in new window


See attached.

Cheers,

Dave
autosave-r1.xls
0
 
LVL 8

Expert Comment

by:csoussan
ID: 37737801
Hi Geisrud,

Any update on your issue?
0
 
LVL 14

Author Closing Comment

by:Geisrud
ID: 37737891
As far as I can tell, this method works perfectly.  I didn't have the 10 minute limitation described either.  I tested by setting this to 1 minute, and autosave worked as I wanted - either with or without prompts.
0
 
LVL 42

Expert Comment

by:dlmille
ID: 37738395
I'm curious. Did you try my solution?
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Having trouble getting your hands on Dynamics 365 Field Service or Project Service trial? Worry No More!!!
This Micro Tutorial will demonstrate in Google Sheets how to use the HYPERLINK function to create live links inside your spreadsheet.
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question