- ベストアンサー
AccessでMSCOMCT2.OCX 参照不可を解決する方法
- Access2003(WinXP)でMSCOMCT2.OCX参照不可のエラーが発生し、他のPCでも同様に問題が発生する場合、コードで解決する方法を紹介します。
- ツール→参照設定でMicrosoft Windows Common Control-2 6.0(SP4)が参照不可になっていることが原因です。コードでこの設定を変更することで問題を解決できます。
- Excelを開くイベントでも同様の問題があった場合、Create Objectを使用して解決したことから、MSCOMCT2.OCXの参照も同じように解決できる可能性があります。具体的なコードについては詳細が不明ですが、解決方法は存在します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 もう一度、話を遡って見なければならない気がします。 >自分のPCでは問題ないのですが、他人のPCで稼動させると そこで、私が考える方法は、三つあります。 >COMDLG32.OCX (Microsoft Common Dialog Control 6.0 SP3) もともと、これを使う必要があったのでしょうか。 もともと、Office 2003に標準的に付いてくる Runtime には入っていないように思います。 ひとつは、通常、Access で、DT Picker など使う必要もないわけですから、参照設定を外してあればよいのではなかったのではないでしょうか。そういう私のところもCommon Dialog は入っていますが、こちらは、COMDLG32.OCX が、参照設定のリストには入っていませんでした。 もうひとつは、Office 下位バージョンで作成することです。もし、下位バージョンが用意できれば、という条件です。下位バージョンから、上位バージョンには切り替えができます。それは、少し現実的ではないかもしれません。 最後は、そのActive X が、外れない場合のことですが、自分のPCから、問題のActive X を一旦、外してみる、つまり、MSCOMCT2.OCX を外してしまう、ということです。手動では面倒なので、調べてみると、以下のようなツールがありました。入れるほうも簡単に入ります。 レジストリ登録 OCX、DLLコントロールをレジストリに登録する http://www.vector.co.jp/soft/winnt/prog/se454812.html こんなことを考えてみました。
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 References をループして、IsBroken で、参照不可のものは排出はできますが、Remove メソッドでは外すことができなくなってしまったようです。 × Application.References.Remove ref No12793.VBAでの参照不可の設定を解除するには? http://www.accessclub.jp/bbs5/0041/vba12793.html マクロで参照設定を操作する http://officetanaka.net/excel/vba/tips/tips100.htm
お礼
Wendy02さん 回答ありがとうございます。 Removeも色々試してだめだったのですが、そうですか できないのですか。 他に方法は無いのでしょうか…。 このmdbを使う人全員が参照設定の設定をしないといけないのでしょうか(汗)
お礼
色々とありがとうございます! 参照設定は、必要な項目をAccessが勝手にチェック入れてくれているものと思っていました。 試しにはずして動作確認してみましたが、問題ありませんでした。 Excelの参照などもついでにはずして、Excelへエクスポートする処理も動かして見ましたが、そちらは CreateObject させているからか、処理の後確認してみたら自動的にチェックが入っていました。 レジストリをいじるのは素人なので危ないのでやめておきます…(汗) 解決です!感謝です。本当にありがとうございました!