Office2010以降や64bitのOSでEasyCommを使う方法についても記事を書いています。お困りの方はこちらの記事へどうぞ ⇒ 64bitPCでEasyComm
EasyCommが動かない時の対処法やサンプルコードについても記事を書きました。こちらからどうぞ ⇒ EasyCommのVBAサンプル(エクセルやアクセスでEasyCommを使ってみたけど動かないって人へ)
最近、BOSSより重量計をパソコンと接続して、重量の差異をチェックしつつ重量のログを記録するシステムを作れとの指令がありました。重量計のメーカーの方に話を聞くと、重量はパソコンにテキストで勝手に保存されるというお話でした。ならば、テキストをリアルタイムに取り込んで、重量をチェックするプログラムだけ書けば良いなーとたかを括っていました。
現物が届いてみると、全然話が違うwwwww
重量のデータはCOMポートから垂れ流しとのこと。難易度が一気に上がりますwそもそもどんな感じでデータが流れているのか全く知らないし(^^;シリアル接続ってなんだろう???で、とりあえず、内容を取得できそうなコマンドを調べたので、コマンドプロンプトでコマンドをたたいてみる。
type COM1
で、結果は下記の通り……
0000000000000『『』0000000000000『『』0000000000000『『』0000000000000『『』0000000000000『『』0000000000000『『』0000000000000『『』0000000000000『『』
(※かぎかっこの記号はちょっと違いますが、大体こんな感じw)
なんじゃこりゃ???これをどないせーと???
VBAからコマンド叩いて、データを拾おうかな……とかいろいろ考えましたが、とりあえずやったことある人をネット上でさがすことに。すると、良いもの見つけました。VBAからCOMポートへ接続するためのツールを公開している人がいました。(サイトはこちら)もうツールの配付もサポートも終了しているようですが、別のサイトでツールのダウンロードができました。(ツールのダウンロードはこちら)
正直、初めは動かせなかったんですが、デリミタの設定をETXにすれば動きました。気付くまで半日かかりました(T-T)書かれた内容が古いせいで動かないんじゃないか?とか、いろいろ疑ってしまいました。2017年6月22日現在、Windows7(32ビット)で、オフィスは2007と2016という条件で、バリバリ動きます。
時間はかかってしまいましたが、概ね使い方は分かりました。これから実践的なものを作ります。そのうち、なんかしらかの記事を書きますね。その時にはOSもWindows10(64ビット)を使っている予定なので、この条件で動けば当分の間は使用可能と考えて良いのではないかと思います。
64ビットのOSでは動きませんでした(^^;
でも、ちょっとコードを修正すれば、動かすことができます。詳細はこちらの記事へどうぞ ⇒ EasyCommを64bitのOfficeで動かす方法
初めてこの記事を書いてから、すでに2年以上経つのですね(^^;
その間にかなりノウハウが蓄積されてきました。なので、サンプルコードやEasyCommがどうしても動かないって時の原因についての記事を書いてみました。どうしても動かないって方や初めて使うけど、どうしたら良いのか分からないって方はぜひ読んでみてください。 ⇒ EasyCommのVBAサンプル(エクセルやアクセスでEasyCommを使ってみたけど動かないって人へ)