Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ontime beenden

ontime beenden
19.10.2007 12:18:46
chris
Hallo VBA Profis,
eine frage und zwar ist es möglich irgendwie beim beenden einer Exceldatei eines Workbooks nicht excel komplett alle noch Laufenden ontime ereignisse zu löschen ?
Weil ich da eine datei habe in der das passiert aber ich es nicht hinbekomme diese zu löschen weil mann ja die komplette richtige uhrzeit mit angeben muss wann dieses ontime ereigniss gestartet wurde.
Deshalb wäre es super wenn mir jemand helfen könnte.
Es sollten also alle ontime gelöscht werden die noch aktiv sind.
Und dann vielleicht noch gibt es die möglichkeit alle auflisten zu lassen die noch aktiv sind ?
Vielen dank würde mich sehr über hilfe freuen !
gruß Chris

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ontime beenden
21.10.2007 00:41:00
fcs
Hallo Chris,
ja dass funktioniert.
Dazu muss du die Ausführungszeiten vor dem Aufruf der Ontime-Aktionen in Variablen Speichern, die du in einem allgemeinen Modul als Public und vom Type "Date" deklarierst.
Im Modul DieseArbeitsmappe (ThisWorkbook) legts du dann eine Workbook_BeforeClose-Prozedur an.
Schaut dann zum Beispiel etwa wie folgt aus.
Gruß
Franz

'in einem allgemeinen Modul:
Option Explicit
Public Timer1 As Date, Timer2 As Date, Timer3 As Date
'In allgemeinen Modulen, Tabellen- oder Formularmodulen
Sub Timer1_Starten()
Timer1 = Now + CDate("00:00:15")
Application.OnTime earliesttime:=Timer1, Procedure:="Prozedur1"
End Sub
Sub Timer2_Starten()
Timer2 = Now + CDate("00:10:05")
Application.OnTime earliesttime:=Timer2, Procedure:="Prozedur2"
End Sub
Sub Timer3_Starten()
Timer3 = Now + CDate("01:00:10")
Application.OnTime earliesttime:=Timer3, Procedure:="Prozedur3"
End Sub
Sub Prozedur1()
'Test Timer1
MsgBox "Timer1 startet"
End Sub
Sub Prozedur2()
'Test Timer2
MsgBox "Timer2 startet"
End Sub
Sub Prozedur3()
'Test Timer3
MsgBox "Timer3 startet"
End Sub
'im Modul DieseArbeitsmappe (ThisWorkbook):
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim MsgText As String
On Error Resume Next 'überspringt bereits abglaufenen OnTime-Aktionen
'noch aktive OnTime-Aktionen
MsgText = "Folgende OnTime-Aktionen wurden noch nicht ausgeführt:"
If Timer1 > Now Then
MsgText = MsgText & vbLf & "Prozedur1 um " & Format(Timer1, "hh:mm:ss")
End If
If Timer2 > Now Then
MsgText = MsgText & vbLf & "Prozedur2 um " & Format(Timer2, "hh:mm:ss")
End If
If Timer3 > Now Then
MsgText = MsgText & vbLf & "Prozedur3 um " & Format(Timer3, "hh:mm:ss")
End If
If MsgText = "Folgende OnTime-Aktionen wurden noch nicht ausgeführt:" Then
MsgText = MsgText & vbLf & "Keine"
End If
MsgBox MsgText
'noch aktive OnTime-Aktionen der Datei zurücksetzen
Application.OnTime earliesttime:=Timer1, Procedure:="Prozedur1", Schedule:=False
Application.OnTime earliesttime:=Timer2, Procedure:="Prozedur2", Schedule:=False
Application.OnTime earliesttime:=Timer3, Procedure:="Prozedur3", Schedule:=False
MsgText = "Folgende OnTime-Aktionen wurden noch nicht ausgeführt:"
End Sub


Anzeige
AW: ontime beenden
21.10.2007 09:54:00
chris
Boa super vielen dank muss ich mir mal anschauen.
Danke und schönen Sonntag gruß Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige