• 締切済み

エクセルVBAでRS232Cへ

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

みんなの回答

  • arata
  • ベストアンサー率49% (139/279)
回答No.3

フリーウェア/シェアウェア/製品で、シリアル通信用のDLLやActiveXがあるようです。 http://www.vector.co.jp/soft/win95/hardware/se168784.html http://www.vector.co.jp/soft/win95/prog/se094850.html?site=n http://www.vector.co.jp/soft/win95/prog/se094016.html?site=n http://www.vector.co.jp/soft/win95/prog/se057451.html?site=n http://www.vector.co.jp/soft/win95/prog/se154476.html?site=n&srno=SR019089 http://www.vector.co.jp/soft/win95/prog/se061892.html?site=n 試してみては? (私は試してませんごめんなさい。) あと、こちらのページは、電子回路工作関係のページなのですが、「Visual Basicによるプログラム開発」のリンクをたどるとシリアル通信をAPIを使って行う方法とMSCommを使用する方法が掲載されております。参考になるかと思います。 http://www8.freeweb.ne.jp/school/speana_1/

thegame
質問者

お礼

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

すると、全ての回答が全文表示されます。
  • osaosa42
  • ベストアンサー率60% (20/33)
回答No.2

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 ------------------------------------------------- な感じでできると思います・・・

thegame
質問者

お礼

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

すると、全ての回答が全文表示されます。
  • brogie
  • ベストアンサー率33% (131/392)
回答No.1

おはよう御座います。回答者の方が居られないようですから、RS232cソフトをVBAで組んだことはありませんが、何かのヒントになればと思い書き込んでみました。 これから、勤めですから、この後、レスできません。 Win32APIを使用しないと出来ないでしょう。 そのための書籍を紹介します。 1 VBAユーザーのための Win32APIプログラミングガイド 大村あつし著 エーアイ出版 2 Win32システムサービスプログラミング マーシャル・ブレイン=著 郡司芳昭=訳 ブレンディスホール(出版) この2冊あればあなたの構想は実現すると思います。 2冊とも例題が豊富で、分かり易い書籍です。これから、このような分野に興味がある方にはお勧めの入門書です。 ネットワークプログラミングの書籍などもあればあなたのスキルアップができるでしょう。 しかし、VBAの初心者ならば相当な努力が必要でしょう。

thegame
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A