Re: Com-Port & Excel
26.06.2003 11:48:12
Axel
Hallo,Ich habe ein kleines Testszenario zwischen zwei Rechnern mit einer Verbindung per Nullmodemkabel aufgebaut und die von Dir beschriebene Kommunikation simuliert.
Die Einstellung der seriellen Schnittstelle entspricht dem Default-Zustand. Es ist daher möglich, über normalen VBA-Code (ohne Einbindung von API-Funktionen) die Schnittstelle zu bedienen.
Der folgende Code liest die Daten des COM1-Ports zeilenweise aus und schreibt diese ins Direktfenster. Eine Anpasssung des Codes für die Übernahme in ein Tabellenblatt sollte Dir ohne großen Aufwand gelingen.
So schön einfach der Code ist, er hat ein gravierendes Problem.
Das Programm hängt, wenn keine Daten geliefert werden und zuvor kein Endekriterium (im Beispiel eine Zeile, in der lediglich ein Punkt ausgegeben wird) von der Gegenseite geliefert wird.
Das Makro lässt sich auch nicht abbrechen und Excel ist insgesamt blockiert. Der Prozess muß in diesem Fall explizit über den Taskmanager beendet werden.(Beim Testen deshalb den Code vor Ausführen stets neu abspeichern.)
Es ist deshalb wichtig, dass Blockieren der Schnittstelle zu vermeiden, und einen EOF-Datensatz der Gegenseite zu definieren.
Ein Einsatz der EOF-Anweisung im Code hilft auch nicht, da über den Open-Befehl die Schnittstelle zuvor aus Excel geöffnet werden muß und in diesem Fall die notwendigen Trägersignale der Leitung bereits gesetzt sind.
Gruß
Axel