こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

RS-232CのMSCommについて

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

投稿日時 - 2009-07-17 10:55:10

QNo.5132356

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(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)」のリンク先をご覧下さい。

以上です。参考になれば幸いです。

投稿日時 - 2009-07-18 14:18:43

お礼

お礼が遅れて申し訳ありませんでした。

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

投稿日時 - 2009-08-01 22:39:05