COM-Port Auslesen und an EXCEL-Datei senden

#4264672
Lesenswert?

Also vielen Dank, hat alles super geklappt vll. kann mir jemand noch 
eine Frage zu dem Quellcode beantworten.

Ich würde gerne wissen, wo man in dem Quellcode die Zelle festlegen kann 
wo ich die Dateien gerne abgespeichern möchte und ob es auch möglich ist
immer nur den vorhandenen Wert durch den aktuellen zu ersetzen. Jetzt 
werden die daten in der ersten Spalte abwärts abgespeichert.

Vielen Dank schon mal.

MfG

------------------------------------------------------------------------ 
---
------------------------------------------------------------------------ 
---

Dim buf As String 'Buffer for incoming serial data
Dim cell_idx As Integer 'The row number cell to store a received barcode

Private Sub StrokeReader1_CommEvent(ByVal Evt As StrokeReaderLib.Event, 
_
                                    ByVal data As Variant)
  Select Case Evt  'Can be EVT_DISCONNECT or EVT_DATA or EVT_SERIALEVENT
    Case EVT_DISCONNECT 'if USB serial port adapter is just disconnected 
from the PC
        MsgBox "Serial port converter disconnected"
    Case EVT_CONNECT
        MsgBox "Connected" 'if RS232 or RS485 port adapter is just 
connected to USB bus

    Case EVT_DATA  'Incoming serial data
        buf = buf + StrokeReader1.Read(Text) 'Incoming serial data 
accumulated in buf
        Do
           LF = InStr(buf, Chr(10)) 'Most of scanners send ASCII <LF> 
after each barcode

           If LF = 0 Then Exit Do 'Waiting for ASCII <LF> to be received

           s = Left(buf, LF - 1) 'Copy the data before <LF> code as the 
barcode text
           s = Replace(s, Chr(13), "") 'Some scanners could send 
<CR><LF>. Remove <CR> if present

           buf = Right(buf, Len(buf) - LF) 'Cut the parsed data from the 
buffer
           'This is useful if the external hardware sends multiple 
barcodes in a time.

           cell_idx = cell_idx + 1 'increment the row number of cell 
where the barcode will be stored
          Cells(cell_idx, 1) = s
         Loop
  End Select
End Sub
#4264777
Lesenswert?

C. M. schrieb:
> Also vielen Dank, hat alles super geklappt vll. kann mir jemand noch
> eine Frage zu dem Quellcode beantworten.
>
> Ich würde gerne wissen, wo man in dem Quellcode die Zelle festlegen kann
> wo ich die Dateien gerne abgespeichern möchte

  cell_idx = cell_idx + 1 'increment the row number of cell
  Cells(cell_idx, 1) = s

Du kannst die Variable cell_index, die hier bei jedem neuen, empfangenen 
Datenwort um 1 erhöht wird, schon vorher auf einen Wert initialisieren, 
bzw. einfach einmal ein Offset dazuaddieren (achtung, nicht immer :) )
cell_idx und 1, also die beiden Argumente in Cells (x,y), geben Reihe 
und Spalte an.

> und ob es auch möglich ist
> immer nur den vorhandenen Wert durch den aktuellen zu ersetzen. Jetzt
> werden die daten in der ersten Spalte abwärts abgespeichert.

Klar, indem du einfach Cells(x, y) = s schreibst, wobei x und y 
konstante Zahlen sind und wieder Reihe und Spalte darstellen. z.B. 
Cells(5,3) = s

> Vielen Dank schon mal.

Kein Problem.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren