Mam taki fragment kodu i chce go przełożyć z QBasic na VBA.

 ON COM(1) GOSUB OdczytCOM1
     OPEN "COM1:9600,N,8,1" AS #1 LEN=4
     FIELD #1,2 AS sila$,2 AS exte$
     FIELD #1,2 AS nast$

     COM(1) ON
 LSET nast$=MKI$(56):PUT #1,1   'wstepne ustawienie dzielnika szybkosci
     COM(1) OFF

'************************************************
OdczytCOM1:                                     'podprogram wykonywany co 20mS
     GET #1,4
     si%=CVI(sila$)
     sila%=si%-204                                '<<<< stala wzmacniacza sily
     TbSily%(kol%)=sila%
     ex%=CVI(exte$)
     exte%=ex%-201                                '<<<< stala wzmacniacza exte
     TbExte%(kol%)=exte%
     LSET nast$=MKI$(240):PUT #1,1                 'kontrola przesylania RS-em
     INCR droga&
     INCR kl%
     IF kl%=WsRp% THEN INCR kol%:kl%=0  'WsRp% okresla co ile przeslan RS-em (20mS)
RETURN                                  'nastepuje kolejny pomiar i jego zapis do tablic
'************************************************

Generalnie chodzi o to, że program ma komunikować się z urządzeniem podpiętym pod COM przez RS.
Funkcja COM ON powoduje ze włącza się wychwytywanie przesyłania danych z tego urządzenia a ON COM .. GOSUB powoduje wywołanie tego małego podprogramu gdy tylko urządzenie przesyła dane i zczytuje dane z odstepem czasowym 20 ms. Nie znam tylko odpowiedników tych funkcji w VBA tzn włączenia wychwytywania danych i wykonywania polecen co jakis okreslony czas.
Czy ktoś mógłby mi podpowiedzieć jak coś podobnego zrealizować w vba?