• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

makro excel do pobieranie danych z portu com

Object Storage Arubacloud
+1 głos
329 wizyt
pytanie zadane 16 stycznia 2022 w SQL, bazy danych przez danehcan Obywatel (1,170 p.)

Witam mam dzisiaj ciekawe pytanie ponieważ potrzebuje macro do exel które pobierze dane wysyłane na port com np z arduino  ma być to do magazynu energii lecz póki co używam bascom avr z kodem 

$crystal = 16000000
$regfile = "m328pdef.dat"

Dim W As Word

Do
   For W = 0 To 30
      Print W
      Wait 1
   Next W
Loop

 dane są wysyłane ale co zrobić aby exel je pobierał i np wpisywał odrazu do arkusza

dostałem od znajomego gotowy kod 

Sub test()
  Dim Pocz          As Long
  Dim CzasInterw    As Long
  Dim Koniec        As Long
  Dim LbaRekordow   As Long
  Dim TablDrogi()   As Double
  Dim i             As Long

  Dim InpVal        As String

  Const CzasPomiaru As Single = 40   '(czas w sekundach)
  Const Interwal    As Integer = 50  '(interwał w milisekundach)
  Const WierszPoczatkowy As Long = 2   'nr wiersza od którego rozpoczniemy wpisywanie danych

  LbaRekordow = CzasPomiaru * 1000 / Interwal

  If LbaRekordow > Worksheets(1).Rows.Count - WierszPoczatkowy + 1 Then
    MsgBox "To się nie zmieści w kolumnie arkusza!" & vbCr & vbCr & _
           "Maksymalny czas pomiaru to " & _
           Int((Worksheets(1).Rows.Count - WierszPoczatkowy + 1) * Interwal / 1000) & " sek.", _
           vbCritical
    Exit Sub
  End If

  i = 1
  ReDim TablDrogi(i To LbaRekordow, 1 To 1)

  MSComm1.CommPort = 1   '"COM1"
  MSComm1.InBufferSize = 1024
  MSComm1.Settings = "9600,e,7,1"
  MSComm1.InputLen = 12

  Pocz = GetTickCount
  Koniec = Pocz + CzasPomiaru * 1000

  'pętla odmierzająca CzasPomiaru
  Do
    MSComm1.PortOpen = True
    MSComm1.InputMode = comInputModeText
    Cmnd = "11:0"
    MSComm1.Output = Cmnd

    'pętla sprawdzająca bufor
    Do
      DoEvents
    Loop Until MSComm1.InBufferCount >= 12

    InpVal = MSComm1.Input
    TablDrogi(i, 1) = CInt(Mid(InpVal, 6, 4)) / 10
    'albo
    'TablDrogi(i, 1) = CDbl(CInt(Left(Right(InpVal, 6), 4)) / 10)

    'pętla pilnująca interwału
    CzasInterw = Pocz + Interwal
    Do
      DoEvents
    Loop Until GetTickCount >= CzasInterw

    i = i + 1
    Pocz = Pocz + Interwal

  Loop Until GetTickCount >= Koniec

  Arkusz1.Cells(WierszPoczatkowy, 1).Resize(LbaRekordow) = TablDrogi

  MsgBox "Czas minął"

End Sub

lecz podczas uruchomienia makra wyskakuje błąd z linią

MSComm1.CommPort = 1   '"COM1"

Będę bardzo wdzięczny za pomoc.

1 odpowiedź

0 głosów
odpowiedź 16 stycznia 2022 przez VBService Ekspert (253,340 p.)
edycja 16 stycznia 2022 przez VBService

Podobne pytania

+1 głos
1 odpowiedź 194 wizyt
pytanie zadane 27 września 2021 w Algorytmy przez msth32 Nowicjusz (130 p.)
0 głosów
0 odpowiedzi 204 wizyt
pytanie zadane 26 listopada 2020 w Visual Basic przez ZenekMarjewka Nowicjusz (120 p.)
+1 głos
1 odpowiedź 372 wizyt
pytanie zadane 25 września 2020 w Visual Basic przez doeg Początkujący (430 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...