dポイントプレゼントキャンペーン実施中!

エクセルVBAでRS232Cへデータを送ることは出来ますか?
出来るならその方法を教えてください。

はっきりいってVBAまったくの初心者です。

A 回答 (3件)

フリーウェア/シェアウェア/製品で、シリアル通信用のDLLやActiveXがあるようです。



http://www.vector.co.jp/soft/win95/hardware/se16 …
http://www.vector.co.jp/soft/win95/prog/se094850 …
http://www.vector.co.jp/soft/win95/prog/se094016 …
http://www.vector.co.jp/soft/win95/prog/se057451 …
http://www.vector.co.jp/soft/win95/prog/se154476 …
http://www.vector.co.jp/soft/win95/prog/se061892 …

試してみては?
(私は試してませんごめんなさい。)

あと、こちらのページは、電子回路工作関係のページなのですが、「Visual Basicによるプログラム開発」のリンクをたどるとシリアル通信をAPIを使って行う方法とMSCommを使用する方法が掲載されております。参考になるかと思います。
http://www8.freeweb.ne.jp/school/speana_1/
    • good
    • 2
この回答へのお礼

情報ありがとうございます。
皆さんの回答を元にいろいろ調べてみます。

お礼日時:2001/06/27 23:05

MicrosoftのCommコントロールを使えば簡単にできると思います。


[ツール]→[参照設定]の参照設定画面で参照ボタンを押し、「MSCOMM32.OCX」を参照します。

あとは、
-------------------------------------------------
Dim MSCom1 As MSComm
Set MSCom1 = New MSComm
' COM1 を使用します。
MSComm1.CommPort = 1
' 9600bps、パリティなし、データ長 8 ビット、およびストップ ビット長 1。
' MSComm1.Settings = "9600,N,8,1"
' Input プロパティ使用時に、バッファ全体を読み取るように設定します。
MSComm1.InputLen = 0
' ポートを開きます。
MSComm1.PortOpen = True
' コマンドを送信します。
MSComm1.Output = Text1.Text

' シリアル ポートで "OK" 応答データを読み取ります。
' シリアル ポートを閉じます。
MSComm1.PortOpen = False
-------------------------------------------------
な感じでできると思います・・・
    • good
    • 0
この回答へのお礼

osaosa42さんありがとうございます。
非常にありがたいです。
ずぶの素人なので、どう利用していいかもわかりませんが
上記を参考に一から勉強してみます。

お礼日時:2001/06/27 23:11

おはよう御座います。

回答者の方が居られないようですから、RS232cソフトをVBAで組んだことはありませんが、何かのヒントになればと思い書き込んでみました。
これから、勤めですから、この後、レスできません。

Win32APIを使用しないと出来ないでしょう。

そのための書籍を紹介します。


VBAユーザーのための
Win32APIプログラミングガイド

大村あつし著
エーアイ出版


Win32システムサービスプログラミング
マーシャル・ブレイン=著
郡司芳昭=訳
ブレンディスホール(出版)

この2冊あればあなたの構想は実現すると思います。
2冊とも例題が豊富で、分かり易い書籍です。これから、このような分野に興味がある方にはお勧めの入門書です。
ネットワークプログラミングの書籍などもあればあなたのスキルアップができるでしょう。
しかし、VBAの初心者ならば相当な努力が必要でしょう。
    • good
    • 1
この回答へのお礼

情報ありがとうございます。
皆さんの回答を元にいろいろ調べてみます。

お礼日時:2001/06/27 23:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています