Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1784to1788
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

OnTime + WithEvents vertragen sich nicht

OnTime + WithEvents vertragen sich nicht
28.09.2020 17:27:21
Brian
Hallo zusammen,
mit dem „OstroSoft Winsock Component“ (http://www.ostrosoft.com/oswinsck.asp) erfasse ich Daten von einem Datenlogger. Dazu ist folgender Eintrag nötig:
Dim WithEvents wsTCP As OSWINSCK.Winsock
Nach erfolgreicher Initialisierung, etc. wird eine Funktion RequestData() aufgerufen, die die Auslese-Parameter der Funktion
wsTCP.SendData Parameters
zur Verfügung stellt und sie aufruft, wonach in der
Sub wsTCP_OnDataArrival(ByVal nByteAnz As Long)
die Daten ausgegeben werden.
Das funktioniert auch alles einwandfrei. Nun würde ich gerne mit “OnTime” die Funktion RequestData() in gleichmäßigen Abständen (z.B. 5-s-Abstand) aufrufen und die Daten in einem Excel-Sheet ablegen.
Das scheitert aber leider daran, daß die Funktion RequestData() in einem Modul stehen muß, was aber nicht möglich ist, da der Aufruf von wsTCP.SendData Parameters nicht in einem Modul stehen darf, da wsTCP dann nicht sichtbar ist.
Kennt jemand einen Workaround oder eine Lösung für dieses Problem?
Liebe Grüße und schon mal vielen Dank!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: OnTime + WithEvents vertragen sich nicht
28.09.2020 17:40:49
Nepumuk
Hallo Brian,
würde ich so machen:
Option Explicit

Private ldtmNextRun As Date

Public Sub StartTimer()
    Call DeineKlasse.RequestData 'Anpassen !!!
    ldtmNextRun = Now + TimeSerial(0, 0, 5)
    Call Application.OnTime(EarliestTime:=ldtmNextRun, Procedure:=StartTimer, Schedule:=True)
End Sub

Public Sub StopTimer()
    Call Application.OnTime(EarliestTime:=ldtmNextRun, Procedure:=StartTimer, Schedule:=False)
End Sub


Gruß
Nepumuk
Anzeige
AW: OnTime + WithEvents vertragen sich nicht
28.09.2020 18:18:03
Brian
Hallo Nepumuk,
vielen Dank für die Antwort - jedoch scheitere ich genau hier:
Call DeineKlasse.RequestData 'Anpassen !!!
Wie muß das angepaßt werden, wenn RequestData() in "Sheet1" steht?
Liebe Grüße
Brian
AW: OnTime + WithEvents vertragen sich nicht
28.09.2020 18:19:48
max.kaffl@gmx.de
Hallo Brian,
na dann:
Call Sheet1.RequestData
Gruß
Nepumuk
AW: OnTime + WithEvents vertragen sich nicht
28.09.2020 18:28:05
Brian
Hallo Nepumuk,
dann erscheint bei mir die Fehlermeldung:
Fehler beim Kompilieren:
Methode oder Datenobjekt nicht gefunden

Liebe Grüße
Brian
AW: OnTime + WithEvents vertragen sich nicht
28.09.2020 18:32:57
Nepumuk
Hallo Brian,
ist die Methode öffentlich? Also: Public Sub RequestData()
Oder hat Sheet1 einen anderen Objektnamen? Das ist der Name der Tabelle vor dem in Klammern stehenden Namen auf der Exceloberfläche.
Gruß
Nepumuk
Anzeige
AW: OnTime + WithEvents vertragen sich nicht
28.09.2020 18:48:36
Brian
Hallo Nepumuk,
an Public scheiterte der Aufruf.
Nun ergibt sich leider ein erneutes Problem:
Aus dem Data-Sheet "Sheet1" werden Werte in Variablen eingelesen
(was sonst auch immer funktionierte)
nTrId1 = Sheets("Sheet1").Range("B5") ' Transaction Identifier MSB [0]
nTrId0 = Sheets("Sheet1").Range("C5") ' Transaction Identifier LSB [0]
etc.
doch jetzt erscheint eine Fehlermeldung:
Laufzeitfehler "9":
Index außerhalb des gültigen Bereichs

Liebe Grüße
Brian
AW: OnTime + WithEvents vertragen sich nicht
28.09.2020 19:05:08
Brian
Hallo Nepumuk,
alles ist nun bestens!
Es war mein Fehler - eine zweite Datei war offen und hat den Laufzeitfehler 9 verursacht.
Nochmals vielen, vielen Dank für alles!!
Liebe Grüße
Brian
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige