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

API-Timer Problem

API-Timer Problem
18.11.2006 23:41:33
Lars
Hi,
was ist hier faul, beim Beenden stürzt Excel ab, Code steht in einem Standardmodul:
Option Explicit
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Dim Awnd As Long, bolOldStat As Boolean
Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
Application.StatusBar = Format(Time, "hh:mm:ss")
End Sub
Sub start()
Awnd = Application.hwnd
bolOldStat = Application.DisplayStatusBar
Application.DisplayStatusBar = True
Application.StatusBar = Format(Time, "hh:mm:ss")
SetTimer Awnd, 0, 1000, AddressOf TimerProc
End Sub
Sub stopp()
KillTimer Awnd, 0
Application.DisplayStatusBar = bolOldStat
End Sub
mfg Lars

		

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: API-Timer Problem
19.11.2006 00:23:59
Nepumuk
Hallo Lars,
beim beenden wovon?
Bei deinem Level (VBA nur mit Recorder) würde ich dir von der Benutzung von API-Funktionen abraten. Dazu sind schon fundiertere Kenntnisse erforderlich. Für deine Zwecken reicht die OnTime-Methode vollkommen aus.
Gruß
Nepumuk
AW: API-Timer Problem
19.11.2006 00:25:26
Lars
Hi,
beim Ausführen dieser Sub:

Sub stopp()
KillTimer Awnd, 0
Application.DisplayStatusBar = bolOldStat
End Sub

mfg Lars
AW: API-Timer Problem
19.11.2006 00:27:00
Lars
Hi,
bei OnTime zuckt der Cursor, das stört.
mfg Lars
AW: API-Timer Problem
19.11.2006 00:59:01
Nepumuk
Hallo Lars,
rufst du um den Code zu starten den Makrodialog auf?
bei OnTime zuckt der Cursor, das stört.

Ein fünfjähriger schwitzt beim Bobbycarfahren, das stört ihn. Tauschst du ihm sein Bobbycar gegen einen Ferrari, weil der eine Klimaanlage hat?
Gruß
Nepumuk
Anzeige
AW: API-Timer Problem
19.11.2006 10:53:16
Lars
Hi,
gestartet und beendet wird mit Schaltflächen aus "Formular". Beim Beenden
kommt kurz eine Fehlermeldung, die ich aber nicht lesen kann, weil Excel
sofort schließt.
mfg Lars
AW: API-Timer Problem
19.11.2006 11:32:19
Nepumuk
Hallo Lars,
in CallBack-Funktionen immer!!! eine Fehlerbehandlungsroutine einbauen.
Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, _
        ByVal uElapse As Long, ByVal lpTimerFunc As Long)

    On Error Resume Next
    Application.StatusBar = Format(Time, "hh:mm:ss")
End Sub

Gruß
Nepumuk
Anzeige
AW: API-Timer Problem
19.11.2006 17:53:02
Lars
Hi,
schön und gut, aber so bekomme ich ja nie raus, welcher Fehler da auftritt.
Was mich wundert, warum da überhaupt ein Fehler auftritt. Wenn ich den Timer
auskommentiere, gibt es keinen Fehler.
mfg Lars
AW: API-Timer Problem
19.11.2006 18:35:23
Nepumuk
Hallo Lars,
du kannst ja eine ganz normale Fehlerbehandlung einbauen, in der du den Timer beendest und dann die Meldung in einer MsgBox ausgibst. Ohne Fehlerbehandlung wird dir der Timer bei jedem Laufzeitfehler Excel in den Abgrund reißen.
Gruß
Nepumuk
AW: API-Timer Problem
19.11.2006 21:20:07
Lars
Hi,
Verständnisproblem, habe mal eine Fehlerroutine eingebaut, die mir Fehlernummer
und Beschreibung ausgibt, ergibt immer 0, also kein Fehler. Lasse ich aber
On Error Resume Next weg, stürzt Excel mit Fehlermeldung ab, die ich aber auf die
Schnelle nicht lesen kann. Kannst du das erklären?
mfg Lars
Anzeige
AW: API-Timer Problem
19.11.2006 22:32:10
Nepumuk
Hallo Lars,
ich kann den Fehler mit Schaltflächen nicht reproduzieren. Aber versuch es mal so:
MsgBox Err.LastDllError
Wird da was anderes wie 0 ausgegeben?
Ich kann nur dadurch einen Fehler erzeugen, indem ich einen Dialog aufrufe. Das erzeugt dann den Fehler 50290, was mit den ActiveX-Controls des Dialoges zu tun hat und nicht mit dem Timer.
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige