ich habe auch das Problem mit dem "Vergessenen Schliessen" der Excel Datei auf dem Netzlaufwerk.
Ich habe bisher im Modul 1 eine AutoClose mit folgendem Inhalt:
Sub Auto_Close()
Dim ws As Worksheet
Sheets("NSK").Visible = xlSheetVisible
For Each ws In Worksheets
If ws.Name "NSK" Then ws.Visible = xlSheetHidden
Next ws
Sheets("ERG12-ERB-Pacht").Visible = True
Sheets("ERG13-ERB-Pacht").Visible = True
ThisWorkbook.Close
End Sub
Ich habe - wie im Beitrag beschrieben - den Code für "Diese Arbeitsmappe" und den Code für "Modul" übernommen. Nun würde ich gerne die Vorgaben aus meiner AutoClose einbauen, aber ich weiss1. nicht wo ?
2. nicht wie ?
Alle bisherigen Versuche schlugen fehl.
Vielleicht hat ja jemand einen TIP für mich unwissenden excel-Anwender? :-)
Hier zur Erinnerung die beiden Codes aus Ihrem Baitrag.
Diese Arbeitsmappe:
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime dteCloseTime, "DoClose", , False
End Sub
Private Sub Workbook_Open()
dteCloseTime = Now + TimeSerial(0, 5, 0)
Application.OnTime dteCloseTime, "DoClose"
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, 5, 0)
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, 5, 0)
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, 5, 0)
blnCloseNow = False
Application.OnTime dteCloseTime, "DoClose"
End Sub
Modul
Option Explicit
Public dteCloseTime As Date, blnCloseNow As Boolean
Public Sub DoClose()
Dim strMsg As String
If blnCloseNow = False Then
strMsg = "Diese Datei wurde seit 5 Minuten nicht bearbeitet und" & vbCrLf & _
"wird bei weiterer Inaktivität in 1 Minute geschlossen."
CreateObject("WScript.Shell").PopUp strMsg, 5, ThisWorkbook.Name, _
vbOKOnly + vbInformation + vbSystemModal
blnCloseNow = True
dteCloseTime = Now + TimeSerial(0, 1, 0)
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
Nachricht wäre super. Vielen Dank schon mal im Voraus.PS Dieses Forum finde ich einfach klasse. Vielen Dank dafür........
gruß Margit