AW: Automatisches Schliesen von Excel Files
14.10.2004 09:31:48
Excel
Hallo Corinne,
in ein normales Modul der Mappe kopierst du diesen Code
Public Const SchließenNach = "01:00:00" 'Autom. Schließen nach dieser Zeit
Dim datA As Date 'für AutoSchließen-Prozedur
Sub Startzeit()
On Error Resume Next
Application.OnTime EarliestTime:=datA, Procedure:="AutoSchliessen", Schedule:=False
datA = Now + CDate(SchließenNach)
Application.OnTime datA, "AutoSchliessen"
End Sub
'Auto-Prozedur löschen
Sub Zurücksetzen()
On Error Resume Next
Application.OnTime EarliestTime:=datA, Procedure:="AutoSchliessen", Schedule:=False
End Sub
' Plan schließen, ohne Nachfrage speichern
Sub AutoSchliessen()
ThisWorkbook.Save
If Workbooks.Count = 1 Then
Application.Quit
Else
ThisWorkbook.Close False
End If
End Sub
---------------------------------------------------------------------------
Und ins Modul "DieseArbeitsmappe" folgenden Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Zurücksetzen
End Sub
Private Sub Workbook_Open()
Startzeit
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Startzeit
End Sub
-------------------------------------------------------------------------------
Die Funktionsweise ist die, dass beim Öffnen der Mappe (mit aktivierten Makros) mittels OnTime eine Zeit gesetzt wird, nach der die Prozedur AutoSchliessen gestartet wird.
Bei jeder Änderung der Zellauswahl (SelectionChange) wird die Zeit neu gestellt.
Wenn jetzt jemand eine Stunde lang nichts mit der Mappe anstellt, startet "AutoSchliessen" und speichert und schließt die Mappe.
Gruß Matthias