ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Close & save a file at set time only IF the file is open (https://www.excelbanter.com/excel-programming/360236-close-save-file-set-time-only-if-file-open.html)

Clivey_UK[_5_]

Close & save a file at set time only IF the file is open
 

I'm trying to have a file auto-Close (with a Save) at a set time ever
day IF it's open at that time.
To do this, I've put the following code in 'ThisWorkbook':

Private Sub Workbook_Open()
Application.OnTime TimeValue("17:15:00"), "TimeMacro"
End Sub

And I've put this in Module 1:

Sub TimeMacro()
Application.DisplayAlerts = False
ActiveWorkbook.Close
End Sub

That works fine in that if the file is open, the file is automaticall
saved and closed. However if the file is NOT open at the set tim
(17:15) and Excel is running, Excel tries to re-open the file (gives m
the Enable macro message) to run the macro, and I want to avoid this.
understand why the macro is doing what it's doing, but how can I ge
Excel to not run TimeMacro when the file is closed.
Many thanks,
Cliv

--
Clivey_U
-----------------------------------------------------------------------
Clivey_UK's Profile: http://www.excelforum.com/member.php...fo&userid=3256
View this thread: http://www.excelforum.com/showthread.php?threadid=53778


Tom Ogilvy

Close & save a file at set time only IF the file is open
 
You would need to cancel the scheduled event in the BeforeClose event.
However, the user could possibly cancel when prompted to save and the
workbook is never closed.

If this is for you own use, you could put the macro in the personal.xls and
run it from there. Then have the macro check for the workbook being open

http://www.cpearson.com/excel/ontime.htm

for example of cancelling an ontime event.

http://www.cpearson.com/excel/events.htm for an overview of events.

--
Regards,
Tom Ogilvy


"Clivey_UK" wrote:


I'm trying to have a file auto-Close (with a Save) at a set time every
day IF it's open at that time.
To do this, I've put the following code in 'ThisWorkbook':

Private Sub Workbook_Open()
Application.OnTime TimeValue("17:15:00"), "TimeMacro"
End Sub

And I've put this in Module 1:

Sub TimeMacro()
Application.DisplayAlerts = False
ActiveWorkbook.Close
End Sub

That works fine in that if the file is open, the file is automatically
saved and closed. However if the file is NOT open at the set time
(17:15) and Excel is running, Excel tries to re-open the file (gives me
the Enable macro message) to run the macro, and I want to avoid this. I
understand why the macro is doing what it's doing, but how can I get
Excel to not run TimeMacro when the file is closed.
Many thanks,
Clive


--
Clivey_UK
------------------------------------------------------------------------
Clivey_UK's Profile: http://www.excelforum.com/member.php...o&userid=32569
View this thread: http://www.excelforum.com/showthread...hreadid=537788



Clivey_UK[_6_]

Close & save a file at set time only IF the file is open
 

Tom,
Many thanks for that. Looks like just what I need. I should have
thought of using BeforeClose.
Clive

Tom Ogilvy Wrote:
You would need to cancel the scheduled event in the BeforeClose event.
However, the user could possibly cancel when prompted to save and the
workbook is never closed.



--
Clivey_UK
------------------------------------------------------------------------
Clivey_UK's Profile: http://www.excelforum.com/member.php...o&userid=32569
View this thread: http://www.excelforum.com/showthread...hreadid=537788



All times are GMT +1. The time now is 05:46 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com