AutoLuk inaktive regneark

Automatisk luk af regneark, tag kontrol over låste ark

Ville det ikke være dejligt, at regneark kunne lukke sig selv, men kun hvis brugeren har været inaktiv i et på forhånd defineret antal minutter? DET ER NU MULIGT med AutoLuk.

Ved at implementere denne lille stump kode i dit regneark, kan du styre 100% om brugere må "sove" i dine regneark, så andre ikke kan åbne dem fordi de er skrivebeskyttede.
Rent teknisk er systemet en 'føler' som mærker om du rent faktisk arbejder i arket, hvis du ikke gør det, lukkes arket efter x antal minutter.

Du kan selv definere følgende i koden:

  • Hvor langt tid inaktivitet du accepterer i x minutter.
  • Om arket skal gemmes før det lukkes automatisk efter x minutter.

Koden er opdelt i 2 dele, den ene del skal placeres i THISWORKBOOK og den anden del skal placeres i et modul.
Alternativt kan du downloade en fil hvor koden allerede er implementeret, klik her: Excel logo

 

VIGTIGT: Variable som kan justeres efter dit behov: (Findes i koden, i toppen af modulet)

  • LukNedEfter = Inaktiv tid før automatisk luk (f.eks. 00:05:00 for 5 minutter)
  • GemFørst = Om arket skal gemmes før automatisk luk (TRUE = JA, FALSE = NEJ)

 

Implementering af Autoluk i dit regneark er meget simpel:

Denne del skal placeres i THISWORKBOOK / Denne_projektmappe:

'***Copyright Allan Thustrup Mortensen - Excel-regneark.dk ***
'*************************************************************

Private Sub Workbook_Open()
Føler
End Sub

Private Sub Workbook_Activate()
Føler
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Føler
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Føler
End Sub

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Føler
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Stop_Føler
End Sub

 

Denne del skal placeres i et modul:

'************Allan Thustrup Mortensen - Excel-regneark.dk ************
'*************************************************************
Const LukNedEfter As String = "00:05:00" '********************
Const GemFørst As Boolean = FALSE         '********************
'*************************************************************

Public Tid As Date
Sub Start_Føler()
    Tid = Time
    On Error Resume Next
    Application.OnTime Tid + TimeValue(LukNedEfter), "LukNed"
    On Error GoTo 0
End Sub

Sub Stop_Føler()
    On Error Resume Next
    Application.OnTime Tid + TimeValue(LukNedEfter), "LukNed", , False
    On Error GoTo 0
End Sub

Sub Føler()
    On Error Resume Next

    If ThisWorkbook.ReadOnly = True Then Exit Sub

    Call Stop_Føler

    Call Start_Føler
End Sub

Private Sub LukNed()
    If ThisWorkbook.ReadOnly = True Then Exit Sub
    ThisWorkbook.Close (GemFørst)
End Sub

 

Efter implementeringen, skal du gemme og lukke projektmappen og derefter åbne den igen.
Nu vil du erfare at regnearket lukker og gemmer af sig selv hvis du er inaktiv i 5 minutter. (Kan brugerdefineres)

Opdateret 05-02-2024

Maintenance