AW: VBA mit Arbeitsmappe schließen
17.08.2017 09:48:32
ralph
Hallo Nepumuk,
das Makro schließt die Arbeitsmappe, sofern diese 10 Minuten lang nicht bearbeitet wurde.
Private Sub Workbook_Open()
dteCloseTime = Now + TimeSerial(0, 9, 0)
Application.OnTime dteCloseTime, "DoClose"
MsgBox "Die Arbeitsmappe wird nach 10 Minuten inaktivität automatisch und ohne Vorwarnung _
geschlossen!"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime dteCloseTime, "DoClose", , False
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, 9, 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, 9, 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, 9, 0)
blnCloseNow = False
Application.OnTime dteCloseTime, "DoClose"
End Sub
Stehen in dieser Arbeitsmappe
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 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 = False 'false durch True
dteCloseTime = Now + TimeSerial(0, 1, 0)
Application.OnTime dteCloseTime, "DoClose"
Else
If Workbooks.Count = 1 Then
Application.DisplayAlerts = False
Application.Quit
Else
ThisWorkbook.Close False
End If
End If
End Sub
steht in einem Modul
wird die Mappe geschlossen, kommt dennoch ständig die Benachrichtigung, dass diese geschlossen werden soll, weil sie nicht bearbeitet wird. Aber sie ist ja bereits geschlossen. und Excel kann ich nicht komplett schließen, weil ja ggf. noch eine Vielzahl anderer Dokumente zur selben Zeit geöffnet ist.
Vielen Dank für deine Hilfe und Grüße
Ralph