Live-Forum - Die aktuellen Beiträge
Datum
Titel
20.06.2025 08:39:33
19.06.2025 20:41:29
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

application.ontime

Forumthread: application.ontime

application.ontime
13.02.2008 14:47:41
Holger
Hallo,
folgendes Makro sorgt für das Schließen der Datei nach 10 Minuten. wie kann ich verhindern, dass das Ganze weiterläuft, wenn die Datei geschlossen ist. im Moment läuft das so, dass sich die Datei von allein wieder öffnet und dabei auch noch alle anderen offenen Mappen schließt.
unter "diese Arbeitsmappe":
Dim altezeit

Private Sub Workbook_Open()
On Error Resume Next
neuezeit = Time + TimeSerial(0, 10, 0)
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
altezeit = neuezeit
Application.OnTime neuezeit, "Schließen"
End Sub



Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
neuezeit = Time + TimeSerial(0, 10, 0)
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
altezeit = neuezeit
Application.OnTime neuezeit, "Schließen"
End Sub


Makro:
Sub Schließen()
ActiveWorkbook.Close savechanges:=True
End Sub


Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: application.ontime
13.02.2008 14:56:04
Rudi
Hallo,
setze das
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
in eine Workbook_beforeclose-Prozedur.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: application.ontime
13.02.2008 15:27:00
Holger
so ähnlich? das geht aber irgendwie nicht...
Dim altezeit

Private Sub Workbook_Open()
On Error Resume Next
neuezeit = Time + TimeSerial(0, 0, 60)
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
altezeit = neuezeit
Application.OnTime neuezeit, "Schließen"
End Sub



Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
neuezeit = Time + TimeSerial(0, 0, 60)
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
altezeit = neuezeit
Application.OnTime neuezeit, "Schließen"
End Sub



Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
End Sub


Anzeige
AW: application.ontime
13.02.2008 21:55:00
Daniel
HI
du musst die beiden Variablen altezeit und neuezeit als PUBLIC im allgemeinen Modul deklarieren:

Option Explicit
Public altezeit
Public neuezeit
Sub Schließen()
ActiveWorkbook.Close savechanges:=True
End Sub


noch besser wäre es, wenn du den Variablen bei der Deklaration gleich den richtigen Datentyp (Date) zuweisen würdest.
Gruß, Daniel

Anzeige
AW: application.ontime
14.02.2008 15:13:00
Holger
es funktioniert doch. Danke!

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige