Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
184to188
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
184to188
184to188
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

OnTime-Methode schlägt fehl

OnTime-Methode schlägt fehl
21.11.2002 17:21:19
Konstantin
Hallo zusammen.
Sitze schon einen halben Tag an dem Problem!
Mit ((Application.OnTime variable, "funktion")) gelingt es mir zu einem bst. Zeitpunkt die Fnkt. aufzurufen, aber dies mit ((Application.OnTime earliesttime:=variable,procedure:="funktion", schedule:=False)) abzubrechen geht nicht. Die Fehlermeldung lautet: "Die OnTime Methode des Appl.-Objekts ist fehlgeschlagen."
Weis jemand, was ich falsch mache?


8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: OnTime-Methode schlägt fehl
21.11.2002 17:25:04
Hajo_Zi
Hallo Konstantin

ich habe mir mal ein Beispiel geschaffen und das baue ich mir immer um. Als günstig hat sich erwiesen die Startzeit auf eine Varible zu schreiben.


' **************************************************************
' Modul: DieseArbeitsmappe Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************

Option Explicit

Private Sub Workbook_Open()
Zeitmakro
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime EarliestTime:=ET, Procedure:="Zeitmakro", Schedule:=False
End Sub


' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************

Option Explicit
Public ET As Variant

Sub Zeitmakro()
' unter Anleitung von KlauCh
ThisWorkbook.Worksheets("Tabelle1").Range("A1") = Format(Time, "hh:mm:ss")
ET = Now + TimeValue("00:00:01")
Application.OnTime ET, "Zeitmakro"
End Sub

Code eingefügt mit: Excel Code Jeanie

Gruß Hajo

Anzeige
OnTime Methode
21.11.2002 18:48:47
Konstantin
Hi, Hajo!
Danke für die schnelle Reaktion!
Bei mir klappt es immer noch nicht. Dein Bsp schon, aber(sorry, habe das Problem nicht ausführlich genug geschildert!) ich muß eine Mappe schließen, sobald kein Button in der Form 10 Minuten lang gedrückt wurde. So hatte ich bei jedem Button eingebaut:

'------------------------in der Form--------------------
Private Sub UserForm_Activate()
ET=Now + TimeValue("00:10:00")
Application.OnTime ET, "schliess"
End Sub

Private Sub CommandButton_Klick()
Call countdown_new
'...Weitere Anweis.
End Sub
'------------------------------ dann im Modul--------------
Public ET as Date

Public Sub countdown_new()
Application.OnTime _
EarliestTime:=ET, Procedure:="schliess", Schedule:=False
ET = Now + TimeValue("00:10:00")
Application.OnTime ET, "schliess"
End Sub

Public Sub schliess()
ActiveWorkbook.Close = False
End Sub

Die Mappe wird geschlossen exakt nach 10 Minuten nach dem Form-Start. Wenn ich On Error Resume Next auslasse, kommt bei Application.OnTime EarliestTime:=ET,... Die Fehlermeldung.
Ein Anfängerfehler?

Gruß Konstantin



Anzeige
noch offen
21.11.2002 19:04:45
Hajo_Zi
Hallo Konstantin

ich habe jetzt mal Dein Beispiel nachgebaut mit 10 Sekunden und es läuft


' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************

Public ET As Date

Public Sub countdown_new()
Application.OnTime EarliestTime:=ET, Procedure:="schliess", Schedule:=False
ET = Now + TimeValue("00:00:10")
Application.OnTime ET, "schliess"
End Sub

Public Sub schliess()
Unload UserForm1
ActiveWorkbook.Close False
End Sub


' **************************************************************
' Modul: UserForm1 Typ = Userform
' **************************************************************

Option Explicit

Private Sub UserForm_Activate()
ET = Now + TimeValue("00:10:00")
Application.OnTime ET, "schliess"
End Sub

Private Sub CommandButton_Click()
Call countdown_new
'...Weitere Anweis.
End Sub

Code eingefügt mit: Excel Code Jeanie

Gruß Hajo

Anzeige
Re: OnTime Methode
21.11.2002 19:10:09
Nepumuk
Hallo Konstantin,
die Anweisung zum beenden der OnTime-Anweisung kannst du dir in deinem Fall sparen. Diese Anweisung wird nur gebraucht um rekursive Aufrufe von Makros, das heißt, Makros die sich durch eine OnTime-Anweisung in regelmäßigen Abständen selbst aufrufen, zu beenden. In deinem Fall wird ein Zeitpunkt gesetzt, der, auch wenn er durch drücken der Buttons sich verändert, für die OnTime-Anweisung absolut ist. Ist die Anweisung dann abgearbeitet, ist sie nicht mehr aktiv.
Gruß
Nepumuk

Re: OnTime Methode
21.11.2002 19:19:15
Nepumuk
Jetzt fällt mir gerade ein, dass du die Anweisung zum beenden der OnTime-Anweisung zumindes in das Workbook_beforeclose-Ereigniss mit einer "On Error Resume Next"-Anweisung setzen solltest, da, wenn der Anwender die Datei regulär schließt, die OnTime-Anweisung noch aktiv ist und die Mappe, solange Excel geöffnet ist sich selbst wieder öffnet.
Schwerer Satz.
Gruß
Nepumuk
Anzeige
Re: OnTime Methode
21.11.2002 19:20:59
Hajo_Zi
Hallo Nepumuk

ich habe es jetzt mal getestet ohne die Anweisung zum Beenden. Das hatte aber zur Folge, falls ich zwischen durch den CommndButton Drücke wird die Userform und Datei nach der Zeit geschlossen. Aber nach einer gewissen Zeit öffnet sich die Datei wieder und wird noch mal geschloassen.

Gruß Hajo

Jetzt läuft es auch bei mir!!
21.11.2002 19:28:45
Konstantin
Hmm?! läüft einwandfrei in einer neuen Mappe! Ich versuche es 1:1 in die alte zu übernehmen. Vielleicht geht es endlich.
Es sollte doch nichts geben, was mit OnTime im Konflikt stehen könnte, oder?
Bestimmt ein dummer Fehler gewesen. Schade um die Zeit!

Danke für die Hilfe!
By

Anzeige
Re: OnTime Methode
21.11.2002 19:41:30
Konstantin
Danke! Der Satz war es Wert!
Gruss Konstantin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige