Private
Sub
Workbook_Open()
Sheets(
"Projektliste"
).Activate
ActiveSheet.Range(
"A1"
).Activate
dteCloseTime = Now + TimeSerial(0, 0, 30)
Application.OnTime dteCloseTime,
"DoClose"
Dim
freiezeile
As
Long
freiezeile = Cells(Rows.Count, 1).
End
(xlUp).Row + 1
Set
Rng = ActiveSheet.Range(Cells(freiezeile, 1), Cells(10000, 4))
Set
rng1 = ActiveSheet.Range(Cells(1, 1), Cells(6, 42))
ActiveSheet.Unprotect Password:=
"schutzprojektliste123"
ActiveSheet.Cells.Locked =
False
Rng.Locked =
True
rng1.Locked =
True
ActiveSheet.Protect Password:=
"schutzprojektliste123"
, DrawingObjects:=
True
, Contents:=
True
, Scenarios:=
True
_
, AllowDeletingRows:=
True
, AllowSorting:=
True
, AllowFiltering:=
True
, AllowInsertingRows:=
True
ActiveSheet.Range(
"A1"
).Activate
End
Sub
Private
Sub
Workbook_BeforeSave(
ByVal
SaveAsUI
As
Boolean
, Cancel
As
Boolean
)
Sheets(
"Projektliste"
).Activate
ActiveSheet.Unprotect Password:=
"schutzprojektliste123"
If
ActiveSheet.FilterMode
Then
ActiveSheet.ShowAllData
ActiveWindow.Zoom = 85
ActiveSheet.Range(
"B4"
) = Now()
ActiveSheet.Protect Password:=
"schutzprojektliste123"
, DrawingObjects:=
True
, Contents:=
True
, Scenarios:=
True
_
, AllowDeletingRows:=
True
, AllowSorting:=
True
, AllowFiltering:=
True
, AllowInsertingRows:=
True
End
Sub
Private
Sub
Workbook_BeforeClose(Cancel
As
Boolean
)
ThisWorkbook.SaveCopyAs
"U:\1055_RT_Montage_MMZ\120_MTA\035_Projektliste_Projekte\Neue Projektliste\Backup Projektliste\" & "
Backup Projektliste
" & "
_
" & Format(Date, "
dd_mm_yyyy
") & "
.xlsm"
On
Error
Resume
Next
Application.OnTime dteCloseTime,
"DoClose"
, ,
False
End
Sub
End
Sub
Private
Sub
Workbook_SheetChange(
ByVal
Sh
As
Object
,
ByVal
Target
As
Range)
On
Error
Resume
Next
Application.OnTime dteCloseTime,
"DoClose"
, ,
False
dteCloseTime = Now + TimeSerial(0, 0, 30)
blnCloseNow =
False
Application.OnTime dteCloseTime,
"DoClose"
End
Sub
Private
Sub
Workbook_SheetDeactivate(
ByVal
Sh
As
Object
)
On
Error
Resume
Next
Application.OnTime dteCloseTime,
"DoClose"
, ,
False
dteCloseTime = Now + TimeSerial(0, 0, 30)
blnCloseNow =
False
Application.OnTime dteCloseTime,
"DoClose"
End
Sub
Private
Sub
Workbook_SheetSelectionChange(
ByVal
Sh
As
Object
,
ByVal
Target
As
Range)
On
Error
Resume
Next
Application.OnTime dteCloseTime,
"DoClose"
, ,
False
dteCloseTime = Now + TimeSerial(0, 0, 30)
blnCloseNow =
False
Application.OnTime dteCloseTime,
"DoClose"
End
Sub
Option
Explicit
Option
Private
Module
Public
dteCloseTime
As
Date
, blnCloseNow
As
Boolean
Public
Sub
DoClose()
If
ThisWorkbook.
ReadOnly
=
False
Then
Dim
strMsg
As
String
If
blnCloseNow =
False
Then
strMsg =
"Diese Datei wurde seit 9 Minuten nicht bearbeitet und"
& vbCrLf & _
"wird bei weiterer Inaktivität in 1 Minute geschlossen."
CreateObject(
"WScript.Shell"
).PopUp strMsg, 10, ThisWorkbook.Name, _
vbOKOnly + vbInformation + vbSystemModal
blnCloseNow =
True
dteCloseTime = Now + TimeSerial(0, 0, 30)
Application.OnTime dteCloseTime,
"DoClose"
Else
If
Workbooks.Count = 1
Then
If
ThisWorkbook.Saved =
False
Then
ThisWorkbook.Save
End
If
Application.Quit
Else
ThisWorkbook.Close
True
End
If
End
If
Else
End
If
End
Sub