View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
Marie Marie is offline
external usenet poster
 
Posts: 143
Default Can I set an automatic timeout for a shared spreadsheet?

Perfect. Many Thanks.
marie

"Jim Thomlinson" wrote:

Application.Quit

Careful with that one as there may be other books open when you execute the
code and you need to handle the other books in that case...
--
HTH...

Jim Thomlinson


"Marie" wrote:

That works great!
Would you happen to know the code to close the excel application, as well as
the spreadsheet?... :)
Thank you,
Marie

"Jim Thomlinson" wrote:

That code does not look for inactivity. It closes the file after 30 minutes
regardless... Here is a slight modification of that code. It will pop up a
timed message box every (currently set to 20 seconds for degbugging but you
can change it to 30 minutes). The message box will stay up for 2 seconds. If
you hit yes then the 20 second (30 Minute) clock will start again. If not
then it saves and closes the file... Not you need to reference "Windows
Script Host Object Model" (in the VBE Tools - References - "Windows Script
Host Object Model"). This code sould be placed in a standard code module.

Sub Auto_Open()
Application.OnTime Now() + TimeValue("00:00:20"), "CloseMe"
End Sub

'requires reference to "Windows Script Host Object Model"
Public Sub CloseMe()
Dim SH As IWshRuntimeLibrary.WshShell
Dim Res As Long

Set SH = New IWshRuntimeLibrary.WshShell
Res = SH.Popup(Text:="Are you still there?", secondstowait:=2, _
Title:="Active", Type:=vbYesNo)
If Res = vbYes Then
Application.OnTime Now() + TimeValue("00:00:20"), "CloseMe"
Else
ThisWorkbook.Save
ThisWorkbook.Close
End If
End Sub

--
HTH...

Jim Thomlinson


"Marie" wrote:

THANK YOU! If this works (and I'm confident it will), you have no idea how
happy you will have made our Seattle office!

"Wood Grafing" wrote:

This should get you started =)

Sub Auto_Open()
Application.OnTime Now() + TimeValue("00:30:00"), "CloseMe"
End Sub

Sub CloseMe()
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

"Marie" wrote:

We have a worksheet that is on a shared server. On occasion someone is
distracted and fails to close the worksheet, locking it up until our PC tech
comes in. As this spreadsheet is used in the U.S., Europe, and Asia, this has
created some serious issues.
Is there a way that we can force the spreadsheet closed, if no entry has
been made to it for 30 minutes?