Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
Lee Lee is offline
external usenet poster
 
Posts: 7
Default Close file automatically

Is it possible to set up an Excel workbook to timeout and close automatically
after a given amount of time, say 15 minutes? Maybe via a macro that times
out and closes the workbook? Or perhaps a macro from another workbook that
can close it down?

The problem we are having in the Company is that one user will open an Excel
workbook from our network and forget to close it. Then when someone else
tries to open it and make modifications they get the "File in Use" dialog box
which says "filename.xls is locked for editing." and the only buttons
available are "Read Only", "Notify", or "Cancel".
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Close file automatically

You could use Ontime together with worksheet change event code to monitor
it.


There are 4 elements here.


Firstly have a macro which invokes Ontime to run a macro that saves the
workbook in 5 minutes. And you also need a macro to save the workbook and
reset the timer


Option Explicit


Public nSaveWB As Date


Public Sub SetSaveWBTimer()
nSaveWB = Now + TimeSerial(0, 5, 0) ' 5 minutes
Application.OnTime nSaveWB, "SaveWB"
End Sub


Public Sub SaveWB()
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub


You then need to set the timer in the first place, when the workbook opens.
And you also need tyo trap any workbook changes so that the timer gsets
cancelled, and set anew (note this doesn't reset the timer for any
formatting changes, only data changes).


Option Explicit


Private Sub Workbook_Open()
SetSaveWBTimer
End Sub


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.OnTime nSaveWB, "SaveWB", , False
SetSaveWBTimer
End Sub


'This is workbook event code.
'To input this code, right click on the Excel icon on the worksheet
'(or next to the File menu if you maximise your workbooks),
'select View Code from the menu, and paste the code




--

HTH

RP
(remove nothere from the email address if mailing direct)


"Lee" wrote in message
...
Is it possible to set up an Excel workbook to timeout and close

automatically
after a given amount of time, say 15 minutes? Maybe via a macro that

times
out and closes the workbook? Or perhaps a macro from another workbook

that
can close it down?

The problem we are having in the Company is that one user will open an

Excel
workbook from our network and forget to close it. Then when someone else
tries to open it and make modifications they get the "File in Use" dialog

box
which says "filename.xls is locked for editing." and the only buttons
available are "Read Only", "Notify", or "Cancel".



  #3   Report Post  
Posted to microsoft.public.excel.programming
Lee Lee is offline
external usenet poster
 
Posts: 7
Default Close file automatically

Excellent, Bob. This works great! It's exactly what I was looking for.
Thanks a million.
Regards,
Lee

"Bob Phillips" wrote:

You could use Ontime together with worksheet change event code to monitor
it.


There are 4 elements here.


Firstly have a macro which invokes Ontime to run a macro that saves the
workbook in 5 minutes. And you also need a macro to save the workbook and
reset the timer


Option Explicit


Public nSaveWB As Date


Public Sub SetSaveWBTimer()
nSaveWB = Now + TimeSerial(0, 5, 0) ' 5 minutes
Application.OnTime nSaveWB, "SaveWB"
End Sub


Public Sub SaveWB()
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub


You then need to set the timer in the first place, when the workbook opens.
And you also need tyo trap any workbook changes so that the timer gsets
cancelled, and set anew (note this doesn't reset the timer for any
formatting changes, only data changes).


Option Explicit


Private Sub Workbook_Open()
SetSaveWBTimer
End Sub


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.OnTime nSaveWB, "SaveWB", , False
SetSaveWBTimer
End Sub


'This is workbook event code.
'To input this code, right click on the Excel icon on the worksheet
'(or next to the File menu if you maximise your workbooks),
'select View Code from the menu, and paste the code




--

HTH

RP
(remove nothere from the email address if mailing direct)


"Lee" wrote in message
...
Is it possible to set up an Excel workbook to timeout and close

automatically
after a given amount of time, say 15 minutes? Maybe via a macro that

times
out and closes the workbook? Or perhaps a macro from another workbook

that
can close it down?

The problem we are having in the Company is that one user will open an

Excel
workbook from our network and forget to close it. Then when someone else
tries to open it and make modifications they get the "File in Use" dialog

box
which says "filename.xls is locked for editing." and the only buttons
available are "Read Only", "Notify", or "Cancel".




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
File/Close automatically saving changes without prompt Joe@SAA Excel Discussion (Misc queries) 0 June 23rd 08 10:31 PM
Copy from another file and close automatically Jim G Excel Discussion (Misc queries) 2 October 17th 07 01:31 AM
close without saving automatically goofy11 Excel Programming 2 September 14th 05 02:29 AM
Automatically close a userform ForSale[_53_] Excel Programming 1 October 2nd 04 12:47 AM
VBA code to automatically close file Kevin Excel Programming 4 November 6th 03 04:18 PM


All times are GMT +1. The time now is 06:25 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"