Leer datos de una variable

Estoy haciendo una macro para excel en la que pueda leer los datos del puerto serie:

Private Sub CommandButton1_Click()
NETComm1.CommPort = 2
NETComm1.Settings = "2400, N, 8, 1"
NETComm1.RThreshold = 1
NETComm1.InputLen = 0
NETComm1.InBufferSize = 1024
NETComm1.PortOpen = True
Cells(2, 2) = ""
End Sub

Private Sub CommandButton2_Click()
NETComm1.PortOpen = False
End Sub

Private Sub NETComm1_OnComm()
datos232 = NETComm1.InputData
Cells(2, 2) = Cells(2, 2) + datos232
End Sub

El problema es que el equipo al que esta conectado, al final de cada serie de datos me envía un retorno de carro, pero no me lo envía como un evento.

Me gustaría saber si hay alguna manera de comprobar en la variable datos232 si el ultimo dato recibido es el retorno de carro, para empezar a escribir en otra celda.

PD: La variable datos232 no tiene un tamaño fijo, puede contener varios valores en su interior

1 respuesta

Respuesta
1

if datos232 = chr(32) then ...

Hola Luis el problema es que la variable datos232 no tiene una longitud fija y con esta instrucción solo detectaría el retorno de carro si solo tuviera una longitud de un dato, ten pongo un ejemplo:

Si la variable datos232 contiene "hola" y a continuación de la última letra se manda el retorno de carro, con la instrucción propuesta no lo detectaría

Y así

Instrrev(datos232, chr(32),-1, vbBinaryCompare)

Así si el retorno esta al final de la cadena te devolver > 0

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas