【VBA/シリアル通信】潔く諦めて、scilabなどに用意された通信機能を素直に使いましょう。

1 EXCELのVBAでシリアル通信は諦めましょう

この方式にこだわる理由は分かります。

ご使用のパソコンが情報システム部門に管理されており、勝手にソフトウエアをインストールできない。
だから、支給されているパソコンで業務に利用しているEXCELのマクロを使ってデータ収集をしたい。

それは、大手企業の方々と仕事をした時に、言われたことです。
私のサイトで紹介していた記事に非常に興味を持っていただきました。

しかし、諦めましょう。

理由があります。
2023年10月頃にEXCELの仕様が変わったようなのです。
VBAでシリアル通信ができない可能性が出てきました。

それに、VBAからOSのWindows95のために開発されたDLLをインクルードし、シリアル通信を実現しています。
実際、VBAの中で、DLLを読み込む指示を書いています。

環境の変化が大きいのですが、既に時代に合わない方法なので、公開は辞めました。
マクロの販売もしていません。

2 ではどうすればいいのでしょうか?

シリアル通信は、Pythonでもライブラリが用意されているようです。
私はオープンソースのScilabにシリアル通信用のモジュールをインストールして、利用しています。

大手企業の方々にも申し上げましたが、情報システム部門と相談して社内での解決を促しました。
またアイデアとして、通信機能を持たない、あるいは機能しない状態にすること。
そして社内ネットワークには接続しないようにする。

この条件で、オープンソースのscilabやPythonの環境を構築して、ソフトウエアを開発してください。

実際に、私が提案した条件でパソコンは支給されたようです。
しかし、インターネットのような外部ネットワークにも接続できません。

なのでUSBディスクに必要なソフトウエアをダウンロードしておき、そこからインストールしました。

通信ソフトについては、先方の仕様に合わせて開発しています。
シリアル通信機能付きで販売もしています。

こちらは、オープンソースなのでコードも閲覧できます。

EXCEL VBAはあきらめて、業務改善用に自主開発してみてはいかがでしょうか?

3 scilabなら通信実績はありますし、ソフトウエアとして納品もしています。

判らなければ、開発もしますし、使い方についても簡単なテキストを電子データとして販売しております。

そちらもご検討ください。

最近、EXCEL/VBAでのシリアル通信について、検索が掛かっているようなので、改めての記事になります。

PAGE TOP