投稿者 kiku  (社会人) 投稿日時 2014/7/16 09:59:48
>今ポートを開いた際、ハンドル値を保持しておき、
>エラー等でプログラムが終了したら通信開始ボタンを
>押したタイミングで保持していたハンドル値でポートを閉じて、
>その後に上記プログラムが開始する様に考えていますがうまくいきません。

この文面からエラーやESCでプログラムが終了した後に、
再度プログラムを起動して、閉じられていないポートを閉じようとしている
というように解釈しました。

プログラムが終了する直前のイベントで
ポートを閉じるようにする必要があると思います。

このような方向性で改修可能でしょうか?

またExcelのマクロなのか、VB6.0でExcelを制御しているのか
わからないのですが、どちらにしても24時間動作させるような
プラットホームではないような気がします。

たぶん、そうならざるを得ない理由があるのではないかと
思いますが、最新の環境でプログラムを開発した方が良いと思います。
VB.NETとかになると思いますが、初心者でここまでできたことを
考えると、今からでも遅くないように推測します。