![]() |
Save and exit automatically
Hi!
I wanted to make a short macro, which saves and closes my exce workbook automatically when I haven't done any changes within last 1 mins. The code below shows how to do it, but it also causes som disfunctions. For example the 'Find' command doesn't work while thi code is running. Please give a tip if you know better way to do this or it you know wha changes I should do to this code to make it work properly. Thanks! -AnsiSys -----Cut here------ Dim Changed As Boolean Private Sub Workbook_SheetChange(ByVal Sh As Object, _ ByVal Source As Range) Changed = True End Sub Private Sub Workbook_Open() Changed = False Dim Time1 Dim Time2 Start: Time1 = Timer: Time2 = Timer Do Until Time2 - Time1 600 Or Changed = True DoEvents Time2 = Timer Loop If Changed Then Changed = False: GoTo Start If Me.Saved = False Then Me.Save Me.Close End Sub -----And here----- -- Message posted from http://www.ExcelForum.com |
Save and exit automatically
Use application.OnTime instead:
See Chip Pearson's page on this: http://www.cpearson.com/excel/ontime.htm -- Regards, Tom Ogilvy "AnsiSys " wrote in message ... Hi! I wanted to make a short macro, which saves and closes my excel workbook automatically when I haven't done any changes within last 10 mins. The code below shows how to do it, but it also causes some disfunctions. For example the 'Find' command doesn't work while this code is running. Please give a tip if you know better way to do this or it you know what changes I should do to this code to make it work properly. Thanks! -AnsiSys -----Cut here------ Dim Changed As Boolean Private Sub Workbook_SheetChange(ByVal Sh As Object, _ ByVal Source As Range) Changed = True End Sub Private Sub Workbook_Open() Changed = False Dim Time1 Dim Time2 Start: Time1 = Timer: Time2 = Timer Do Until Time2 - Time1 600 Or Changed = True DoEvents Time2 = Timer Loop If Changed Then Changed = False: GoTo Start If Me.Saved = False Then Me.Save Me.Close End Sub -----And here------ --- Message posted from http://www.ExcelForum.com/ |
Save and exit automatically
Hi!
Thanks for the tip! But now I have another problem. How to close just the active workbook? ------------------------------------------------------ Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, _ ByVal nIDEvent As Long, ByVal dwTimer As Long) ' ' The procedure is called by Windows. Put your ' timer-related code here. ' ' -# Both of these lines will close all documents and ' exit Excel #- ThisWorkbook.Close ActiveWorkbook.Close ' -# This line doesn't work, because this code has to be ' in module #- Me.Close End Sub ------------------------------------------------------ -AnsiSy -- Message posted from http://www.ExcelForum.com |
All times are GMT +1. The time now is 05:18 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com