トップ  >  サンプルソース  >  RS232C 送信/受信(VBS/VBA)

RS232C 送信/受信(VBS/VBA)

2010年10月13日

RS232Cで通信するサンプル(ソース/コード)です。スクリプト通信テストを使っています。

VB SCRIPTやVBA(このサンプルはVBSで動作確認)でRS232C通信が出来ます。VBAの場合はEXCEL通信テストが参考になると思います。

VB SCRIPTやVBAなら.NETの開発環境が無くても自分専用のツールが作れます。VB SCRIPT(WSH)ってお手軽ですね。

このVBSサンプルは64bit(x64)版VBSではCreateObjectエラーになります。32bit(x86)版のWSH(C:\Windows\SysWow64\cscript.exe)を使用してください。

' -----------------------------------------------------------
' RS232Cで通信するサンプル(VBS)
' 通信オブジェクト生成
' [regsvr32.exe NONCOMSCK.OCX]が必要
Set MSComm1 = CreateObject("NonComSck.MSComm")

' COMポートオープン
MSComm1.CommPort = 11
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen = True
MSComm1.RThreshold = 1

' データ送信(文字列をByte配列に変換して送信)
MSComm1.Output = _
    MSComm1.StrToByteArray(Chr(2) & "1234567890" & Chr(3))

' データ受信
const comEvReceive = 2
MSComm1.Start_EventForScript()
Do
    WScript.Sleep(500)
    Evt = MSComm1.GetEventParameters()
    If Ubound(Evt) >= 0 Then
        ' Evt(0) : イベント名
        ' Evt(8) : MSComm1.CommEvent
        If Evt(0) = "OnComm" And _
           Evt(8) = comEvReceive Then
            ' Evt(9) : 受信データのByte配列
            ' Byte配列を文字列に変換して表示
            MsgBox MSComm1.ByteArrayToStr(Evt(9))
            Exit Do
        End If
    End If
Loop
MSComm1.End_EventForScript()

' COMポートクローズ
MSComm1.PortOpen = False

MsgBox "終了"
' -----------------------------------------------------------
スポンサーサイト

TCP/IP 送信/受信(VBS/VBA) | トップページへ戻る | Windows7 HomeでVirtual PCを使う

このページのトップに戻る

コメント

名前
題名
メールアドレス
WEBサイト
 
コメント
パスワード
  管理者にだけ表示を許可する

このページのトップに戻る

トラックバック

このページのトップに戻る