Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Excel 2010 Autosave (not AutoRecover)

Posted on 2012-03-15
8
Medium Priority
?
4,904 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 2000 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
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 
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

Office 365 Training for Admins - 7 Day Trial

Learn how to provision tenants, synchronize on-premise Active Directory, implement Single Sign-On, customize Office deployment, and protect your organization with eDiscovery and DLP policies.  Only from Platform Scholar.

Question has a verified solution.

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

After seeing numerous questions for Dynamic Data Validation I notice that most have used Visual Basic to solve the problem. This suggestion is purely formula based and can be used in multiple rows.
We live in a world of interfaces like the one in the title picture. VBA also allows to use interfaces which offers a lot of possibilities. This article describes how to use interfaces in VBA and how to work around their bugs.
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…

688 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