Forum: PC-Programmierung excel vba com port auslesen problem


von Renato P. (renato)


Angehängte Dateien:

Lesenswert?

Hallo liebe Community,

Ich versuche gerade erstmals mit Excel Vba den com port auszulesen:
Was bereits geht:
* der com port wird erkannt, also in diesem fall com18. (falls ein 
anderer port gewaehlt wird kommt ein runtime error, also passt das 
hoffentlich)
* mit hterm erhalte ich natuerlich daten

Was nicht geht:
* leider kommen aber keine daten im excel terminal raus. ("record" 
bleibt leer)

Was laeuft hier falsch?

Lg
Renato

: Verschoben durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Renato P. schrieb:
> also in diesem fall com18

Aha:

Open "COM5:2400,N,8,1"


Bei Schnittstellennummern größer als 9 muss eine andere Syntax verwendet 
werden:

Open "\\.\COM55:2400,N,8,1"

Das ist nichts neues.

von Draco (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Bei Schnittstellennummern größer als 9 muss eine andere Syntax verwendet
> werden:
>
> Open "\\.\COM55:2400,N,8,1"
>
> Das ist nichts neues.

Wusste ich auch noch nicht... Verweise dazu?!

von Peter II (Gast)


Lesenswert?

Draco schrieb:
> Wusste ich auch noch nicht... Verweise dazu?!

https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx

To specify a COM port number greater than 9, use the following syntax: 
"\\.\COM10". This syntax works for all port numbers and hardware that 
allows COM port numbers to be specified.

Aber ob das für VB gilt, kann ich nicht sagen. Es könnte auch sein das 
VB das immer davor schreibt.

Die Doku ist für CreateFile()

von Renato P. (renato)


Lesenswert?

Also wenn ich die \\.\COM18 version hernehme gibt es eine Fehlermeldung 
(ich verwende excel 2016)

von Frank (Gast)


Lesenswert?

Renato P. schrieb:
> Also wenn ich die \\.\COM18 version hernehme gibt es eine
> Fehlermeldung (ich verwende excel 2016)

Aha. Und wie sieht die aus?

von Draco (Gast)


Lesenswert?

Peter II schrieb:
> Draco schrieb:
>> Wusste ich auch noch nicht... Verweise dazu?!
>
> https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx
>
> To specify a COM port number greater than 9, use the following syntax:
> "\\.\COM10". This syntax works for all port numbers and hardware that
> allows COM port numbers to be specified.
>
> Aber ob das für VB gilt, kann ich nicht sagen. Es könnte auch sein das
> VB das immer davor schreibt.
>
> Die Doku ist für CreateFile()

Oha.. gut.. okay... also in Visual C# nimmt er ganz normal "COMn", auch 
bei höherwertigeren als 9. Aber danke, schön mal davon gehört zu haben, 
falls man vor dem selbigen Problem steht.

von Renato P. (renato)


Lesenswert?

Hallo nochmal,

Hab jetzt viel herumprobiert und kriegs nicht gebacken...
Haette jemand hier lust einfach eine funktionierende xlsm datei 
raufzuladen die den com port ausliest. Waer super xD

Lg
Renato

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Renato P. schrieb:
> Also wenn ich die \\.\COM18 version hernehme gibt es eine Fehlermeldung
> (ich verwende excel 2016)

Du wurdest bereits gefragt, wie diese Fehlermeldung aussieht. Ganz 
sicher steht da nicht "Fehlermeldung".

von ge-nka (Gast)


Lesenswert?

Hab com.vba mal angeguckt, ist ja nur eine Sub.
Dass Excel von Haus aus die COM Schnittstelle auslesen kann ist für mich 
auch neu.
Vor Jahren(2012) habe ich dafür eine externe Lib benutzt, MSCOMM.DLL 
glaube ich, Sie hat mir dann die Ereignisse im Excel geliefert, wo ich 
Byte für Byte abholen könnte.

von ge-nka (Gast)


Angehängte Dateien:

Lesenswert?

Falls noch Bedarf da ist,
habe mein Projekt mal aus Backup Ordner rausgesucht.
Anbei einmal Beispiele der Funktionen, Subs aus meinem Projekt und 
Readme von MSComm Library.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.