• 締切済み

RS-232CのMSCommについて

Access2003で、RS-232Cを使いプリンタに出力するソフトを開発しているですが、 「このコントロールにはオブジェクトがありません。」というメッセージが出るようになりました。 原因を調べると、 フォームに貼り付けた、ActiveXコントールのMSComm(Microsoft Communications Control version6.0)アイコンが、本来なら電話のワークをしているのに、真っ白になっており、ダブルクリックしてもプロパティが表示されません。 また、一旦その真っ白のアイコンを削除して、新しいアイコンを貼り付けようとするのですが、今度は「Microsoft Office Accessでは、このActiveXコントロールはサポートされていません。」と表示されて、使用すらできなくなりました。 つい3週間ほど前までは、エラーも出ず、プリンタから出力できていたのですが、 どのような原因が考えられるでしょうか? OSはXP、Office2003で、VB6.0です。VB2008をインストールしていましたが、影響を受けているのかと思いアンインストールしています。

みんなの回答

noname#144013
noname#144013
回答No.1

こんにちは。 もしかしたら、下記の「過去ログ」の内容と同様な現象かもしれません。 ※見当違いだった場合はすみません。 ■過去ログ(関連質問) Winsockのオブジェクトエラー http://okwave.jp/qa4920140.html Access2003でWinSockは使えないのでしょうか? http://okwave.jp/qa5089219.html 原因は、Windowsのセキュリティ等の更新プログラムにより、「ActiveXコントロール」が 使用できなくなってしまうためかもしれません。 対策としては、更新プログラム「KB960715」をアンインストールすれば、再び ActiveX コントロールが使えるようになるかもしれません。 ※但し、アンインストールするとセキュリティレベルが下がってしまいますし、次回または、  再度 Windowsの更新プログラム(アップデート)を実行してしまうと、また同じ現象が  発生してしまうかもしれません。 代替案として、ActiveXコントロールではなく、VBAにて「WindowsAPI」を直接操作して、 シリアル通信を行う方法もあると思います。 ※これに関しては、下記サイトが参考になるかもしれません。 ■参考サイト(VBAによるWindowAPIの操作に関して) WindowsAPI講座 http://www.serpress.co.jp/winapi/ ※このページの「シリアル通信(1)」~「シリアル通信(4)」のリンク先をご覧下さい。 以上です。参考になれば幸いです。

toshiihsot
質問者

お礼

お礼が遅れて申し訳ありませんでした。 おっしゃる通り、 原因は、Windowsのセキュリティの更新プログラムによるものでした。 「KB960715」をアンインストールすることで、 問題を回避できました。 本当にありがとうございました。

関連するQ&A