rs 232 nach Excel in VBA

lorenz2512

Level-1
Beiträge
3.251
Reaktionspunkte
311
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo,
wie bekommt man es hin, das man z.b. von einem messgerät über rs232 die daten direkt nach excel bekommt????? das messgerät sendet die daten im textformat und braucht zum anstoss ein "m", mscomm wie in normal vba haut nicht hin, da ich das plugin nicht installiert bekomme.

und da ich gerade dabei bin, noch eine frage: mscomm sendet alles in text code, da aber manche messgeräte daten haben wollen, geht weder auslesen noch steuern.

das alles sollte in vba doch machbar sein, betriebssystem win 2000 und xp.
wer weiss rat????
mfg
dietmar




:twisted: wer sorgen hat, hat auch likör. :twisted:
 
Entweder eine Exe schreiben welche im CSV-Format speichert. Dies läßt sich dann im Excel aufmachen. Alternativ eine Exe schreiben welche per DDE direkt ins Excel-Sheet schreibt.

Sollte dann ungefähr so aussehen:

Code:
Private Sub Form_Load()

'for file read/write
CommonDialog1.FileName = "C:\Daten\Messdaten.xls"

'Start Excel and open new spreadsheet
Set exlApp = New Excel.Application
exlApp.Workbooks.Add
Set exlWSheet = exlApp.Workbooks(1).Worksheets(1)
exlApp.Visible = True
exlRow = 1
exlCol = 1

End Sub



Private Sub Form_Unload(Cancel As Integer)

On Error GoTo exlerror

Set exlWSheet = Nothing
'CommonDialog1.ShowSave
'exlApp.Workbooks(1).SaveAs filename
exlApp.Quit
Set exlApp = Nothing
End

exlerror:
    'do NOTHING
    End
End Sub


Private Sub wsTCPDevice_DataArrival(ByVal bytesTotal As Long)

Dim str As String

str = ""
    
wsTCPDevice.GetData str
putDataInExcel (str)

End Sub


Private Function putDataInExcel(data As String)
'Called from wsTCPDevice_DataArrival
'parses out data from In-Sight and puts it directly into excel spreadsheet

On Error GoTo excelError

Dim index As Integer
'Dim dataval As String
Dim delim As String
Dim term As String
term = vbCrLf
delim = txtDelimiter

'reset exlRow
exlRow = 1

'get index of first delimiter
index = InStr(data, delim)
While index <> 0
    'pick off data and put into excel
    exlWSheet.Cells(exlCol, exlRow) = Left(data, index - 1)
    'trim data off string
    data = Mid(data, index + 1)
    exlRow = exlRow + 1
    index = InStr(data, delim)
Wend
'trim off termininator and
'get last piece of data into excel
exlWSheet.Cells(exlCol, exlRow) = Mid(data, index + 1, InStr(data, term) - 1)

'add dateStamp if box is checked
If chkDateStamp.Value = 1 Then
    exlRow = exlRow + 1
    exlWSheet.Cells(exlCol, exlRow) = Now
End If

exlCol = exlCol + 1
Exit Function

excelError:
    'Excel is probably closed
    MsgBox "Error: Excel was shut down", , "Error: " & Err.number & " " & Err.description

End Function

Der Code stammt der Faulheit halber aus einem Beispiel-Programm von Cognex, welches Daten per TCP/IP empfängt und in ein Excel-Sheet schreibt. Der Teil "Private Sub wsTCPDevice_DataArrival" muß in Deinem Fall durch die Mimik rund um die serielle Schnittstelle ersetzt werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo chefchen,
das trifft die sache nicht genau, es geht um die komunikation zur rs232 zu excel.
mfg
dietmar






:shock: netzausfall am morgen bringt kummer und sorgen :roll:
 
Excel

Hallo Dietmar,

ich hab da was um aus Excel Daten seriell zu senden... geht sicher auch in die andere Richtung. Kann aber erst morgen gucken.

MfG
André Räppel
 
hallo,
kennt das jemand ???? taucht das was ????
MSR mit Word und Excel
Artikelnummer 9783772340949
ISBN [ISBN]
Autor H.J. Berndt / B. Kainka
Seiten 267
Serie Franzis PC & Elektronik


mfg
dietmar


Lache nie über die Dummheit der anderen. Sie ist deine Chance. :twisted:
 
Vielen Dank Zotos,
in der Zwischenzeit hab ich mir VB PRO zugelegt und seitdem kann ich auch auf MSCOMM zugreifen, aber werde ich mal ausprobieren denn nicht alle haben VB PRO.

Danke


dietmar
 
Servus,

ich bin's nochmal
Hätte vielleicht noch ne alternative für dich:

Das Programm nennt sich Profilab-expert
damit kann man schon sehr viele nützliche Sachen
machen (was COM und USB betrifft)
Die haben auf ihrer Website auch andere nützliche
Programme
Ich glaube es gibt von allen Progs ne
30 Tage Testversion
, aber da musst du selber mal schauen

http://www.abacom-online.de

MfG Unreal

P.S.: kann sein, daß es für deine Anwendung nicht gerade passend ist,
aber reinschauen lohnt sich, wenn du das Programm noch nicht kennst
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
da ich Dasylab am laufen habe weiß ich was Du meinst, ja mit solchen Programmen läßt sich manches anstellen, alles was eine serielle Schnittstelle hat läßt sich anbinden (dauert manchmal). Ich hatte zuerst solche Programme wie WIN Wedge, Windmill... am start, aber die Doku ist Besche...den (1 zu 1 aus der Doku genommen, und geht nicht).
Aber hier ging es darum nach Excel von Messgerät und oder Barcodescanner Daten zu importieren und für einfache ASCII Codes ist MSCOM gut. Es gibt auch sehr gute freie RS232 Treiber, bloß andere sollen ja auch mit klar kommen.
Ich merke schon Du bist auch dauernt auf der Suche nach guter Soft, und wirst mir noch gute Tips geben können.

mfg

dietmar
 
Ja Mscom deckt das meiste ab, aber gibt es nur bei VB pro :cry:
Aber der RS232 Treiber von Kanika ist auch nicht schlecht.

Gruß

Jonko
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
konkret ging es um ein Messwert per Knopfdruck in Excel zu Übernehmen, und ebend einen Barcode einlesen, entweder mit Tasturadapter oder seriell. Tja alles wo ein Kabel dranhängt wird einem aufgehuckt, und wenn kein Kabel dran ist, wird eins drangemacht :lol: .

mfg

dietmar
 
Zurück
Oben