Kick someone out of a Spreadsheet

  • Thread starter Thread starter Jules815
  • Start date Start date
J

Jules815

If someone leaves a spreadsheet open on ther computer overnight, is there a
way to kick them out of it?
 
Sorry should have specified "remotely"
We are virtual workers and someone opened a spreadsheet on the network drive
and left it open so nobody else can open it to make changes.
 
Look at this string but take not of the warnings:

http://tinyurl.com/37rrte

--
HTH

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings

(e-mail address removed)
Replace @mailinator.com with @tiscali.co.uk
 
We do this all the time with Access databases
(http://support.microsoft.com/?id=128814). I have adapted the same concept
for Excel.

In the ThisWorkbook module of the workbook, paste the following code:

Private Sub Workbook_Open()
'Set StartTime when the workbook is opened.
StartTime = Timer
'Schedule a call to CheckTime in the future to check elapsed idle time.
Application.OnTime (Now + TimeValue(TimeCheckDelay)), "CheckTime"
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Something changed in the workbook, so reset StartTime.
StartTime = Timer
End Sub

In A VBA code module in the same workbook, paste this code:

Global StartTime As Single

Global Const TimeLimitInMinutes = 58 'idle time threshold
Global Const TimeCheckDelay = "00:10:00"

Sub CheckTime()
Dim NewTime As Single
'Get the time (seconds past midnight) now.
NewTime = Timer
'If StartTime was yesterday, add 86400 seconds to NewTime.
If NewTime < StartTime Then
NewTime = NewTime + 86400
End If
'If TimeLimitInMinutes has expired since StartTime was last
'updated, close the workbook without saving changes.
If (NewTime - StartTime) > (TimeLimitInMinutes * 60) Then
ThisWorkbook.Saved = True
ThisWorkbook.Close SaveChanges:=False
Else
'Otherwise, schedule a call to CheckTime in the future to check
'again later.
Application.OnTime (Now + TimeValue(TimeCheckDelay)), "CheckTime"
End If
End Sub

The code above is set to close the workbook without saving changes if it is
idle for more than 58 minutes. It will check every 10 minutes.

I haven't tested this extensively yet (overnight), but the short tests I
have run worked perfectly.

Hope this helps,

Hutch
 
Back
Top