Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1260to1264
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
Inhaltsverzeichnis

Fehler bei Timer

Fehler bei Timer
Benedikt
Guten Morgen Excelprofis
Danke an Tino welcher mir mit dem Code sehr viel geholfen hat. Seine Version besteht aus einem Timer, welcher die Datei nach vorgegebener Zeit schliesst, die Folgecodes ausführt und perfekt läuft
Normalerweise reicht für den Anwender 3-5 Min., Also wurde die Datei auf 5 Min. eingestellt. In der Praxis reichte es in Einzellfällen nicht und die Datei wurde ohne Vorwarnung geschlossen. Zwar speichert sich die Datei, aber unangenehm ist es doch, wenn der Teller während dem Essen weggenommen wird.
Ich habe versucht, den Timer mit einem UF zu erweitern, welches sich 20 Sekunden vor Ablauf der Vorgabezeit öffnet. Läuft auch. Der Anwender sollte jetzt die Laufzeit Verlängern können. Mein Versuch, die im Code enthaltene Sub StopTimer() und Sub StartTimer() anzusprechen funktioniert zwar, der Timer beginnt wieder von vorne, aber nach dem Schliessen der Datei ist das Chaos perfekt. Die Datei öffnet sich wieder und zwar genau sovielmal wie der Button Verlängern gedrückt wurde.
Vielen Dank wenn mir jemand helfen könnte, ich schaff das nicht.
Ich wünsche allen einen schönen Sonntag Benedikt
Diese Arbeitsmappe:
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If nRunTime > 0 Then Call Schließen(True)
End Sub

Private Sub Workbook_Open()
Call StartTimer
End Sub
Modul:
Option Explicit
Public nRunTime As Date
Sub StartTimer()
nRunTime = Now + TimeSerial(0, 0, 20)
Application.OnTime EarliestTime:=nRunTime, Procedure:="Verlängern"
nRunTime = Now + TimeSerial(0, 0, 40)
Application.OnTime EarliestTime:=nRunTime, Procedure:="Schließen"
End Sub
Sub StopTimer()
On Error Resume Next
Application.OnTime EarliestTime:=nRunTime, Procedure:="Verlängern", Schedule:=False
Application.OnTime EarliestTime:=nRunTime, Procedure:="Schließen", Schedule:=False
End Sub
Sub Schließen(Optional booCloseMode As Boolean = False)
Dim oWB As Workbook, i%
Call StopTimer
nRunTime = 0
For Each oWB In Workbooks
If UCase(oWB.Name) "PERSONAL.XLS" And UCase(oWB.Name) "PERSONAL.XLSB" Then
i = i + 1
End If
Next oWB
If Not ThisWorkbook.ReadOnly Then
Application.Run "PDFspeichern"
ThisWorkbook.Close True
End If
End Sub Sub Timerdialog()
Timer.Show
End Sub
Public Sub Verlängern()
Timerdialog
End Sub
Sub StopTimer2()
Call StopTimer
Application.Run "StartTimer"
End Sub Timerdialog :
Private Sub CommandButton1_Click()
Call StopTimer2
Me.Hide
End Sub

Private Sub CommandButton2_Click()
Call StopTimer
Call Schließen
Me.Hide
End Sub

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Fehler bei Timer
06.05.2012 10:23:53
Benedikt
Lieber Hajo
Ich habe sicher bei meiner Suche im Internet auch deine Dateien gesichtet und ausprobiert. Leider ist es nicht allen gegeben, solch komplexe Codes zu Interpretieren, geschweige denn auf die eigenen Bedürfnisse zu ändern. Dateien nachbauen soll auch nicht das Thema sein, Ihr Profis helft ja sicher den Laiendarstellern genug.
Aber wenn es nicht weitergeht, hilft ein Verweis auf auf eine bestehende (Turbo-Datei) auch nicht wirklich weiter.
Vielen Dank trotzdem und weiterhin einen schönen Sonntag
Anzeige
AW: Fehler bei Timer
06.05.2012 10:29:55
Hajo_Zi
Hallo Benedikt,
ich hätte vermutet es muss nur die Zeit angepast werden und das hätte ich nicht als Problem gesehen. Aber vielleicht sehe ich das auch zu einfach.
Gruß Hajo
AW: Fehler bei Timer
06.05.2012 10:45:52
Benedikt
ich hätte vermutet es muss nur die Zeit angepast werden und das hätte ich nicht als Problem gesehen
Ich vermute seit letzten Donnerstag dass etwas nicht ganz stimmt, und der Timer beim zweiten Durchgang nicht geschlossen wird. Aber eben: vermuten und versuchen haben nicht zum Resultat geführt. Schade nur das die Fragen jeweils als Beantwortet gelten!
Anzeige
AW: Frage noch offen
06.05.2012 10:50:03
hary
Hallo
setzt den Haken unter der Mailadresse ins Kaestchen.
gruss hary
Danke Harry
06.05.2012 11:07:51
Benedikt
.
AW: Fehler bei Timer
06.05.2012 10:54:07
Tino
Hallo,
habe das Beispiel vom letzten Mal entsprechend mit einer Userform erweitert.
Im Beispiel ist für Testzwecke der Timer auf 20 Sekunden eingestellt (in Sub StartTimer).
Die Zeile Application.Run "PDFspeichern" müsstest Du noch aktivieren.
https://www.herber.de/bbs/user/80055.xls
Gruß Tino
Danke Tino, Du bist super
06.05.2012 11:06:54
Benedikt
Vielen vielen Dank Tino. Du hast mir einen riesigen Schritt weitergeholfen.
Einen schönen Sonntag und nochmals Danke
AW: Danke Tino, Du bist super
06.05.2012 11:29:39
Tino
Hallo,
hab noch was eingebaut,
weil wenn Excel nicht im Vordergrund ist starten die Userform nicht auf und die Zeit läuft nicht runder.
https://www.herber.de/bbs/user/80057.xls
Gruß Tino
Anzeige
geht nicht wenn Zelle im Bearbeitungsmodus...
06.05.2012 13:48:38
Tino
Hallo,
hab mal noch etwas gebastelt.
Wenn der Benutzer im Excel in einer Zelle im Bearbeitungsmodus ist und den Platz verlässt
funktionieren die alten Beispiele nicht, Code wird nicht ausgeführt.
Hier im Beispiel wird zuvor die ESC- Taste gedrückt um evtl. den Bearbeitungsmodus
im Excel zu verlassen.
Zudem habe ich noch einen Bearbeitungsmodus eingebaut,
auf der Tastatur Strg + Alt + Leertaste drücken,
diese Kombination führt den Code StopTimer aus.
Den VBA Code kannst Du dann in Ruhe bearbeiten, um z.Bsp. die Timer Zeit einzustellen,
danach Excel neu starten oder den Code Private Sub Workbook_Open() ausführen.
Diese Timer Zeit kannst Du im Modul Modul2_Events unter Private Const lngSekunde& = 20 einstellen.
Die Zeit ist in Sekunden, für 5 Minuten musst Du also 300 (5*60=300) angeben.
https://www.herber.de/bbs/user/80059.xls
Gruß Tino
Anzeige
Vielen Dank euch beiden
06.05.2012 16:15:30
Benedikt
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige