アプリ版:「スタンプのみでお礼する」機能のリリースについて

宜しくお願いします。

Access2003(WinXP)でオブジェクトを配置してコードを書いています。
自分のPCでは問題ないのですが、他人のPCで稼動させると
『MSCOMCT2.OCX ver2.0』参照できません というようなエラーが出ます。
ツール→参照設定を開くと 
Microsoft Windows Common Control-2 6.0(SP4)
が参照不可になっていました。
チェックをはずせばOKですが、この作業をコードで出来ないでしょうか。
ちなみにExcelを開くイベントもあり、そちらは Create Object で解決できました。同じように・・・と思ったのですが、どういうコードを書いたら良いのか分かりません。。
宜しくお願いします。

A 回答 (2件)

こんばんは。



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
    • good
    • 0
この回答へのお礼

Wendy02さん 回答ありがとうございます。
Removeも色々試してだめだったのですが、そうですか できないのですか。
他に方法は無いのでしょうか…。
このmdbを使う人全員が参照設定の設定をしないといけないのでしょうか(汗)

お礼日時:2009/03/16 13:17

こんにちは。



もう一度、話を遡って見なければならない気がします。

>自分の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 …

こんなことを考えてみました。
    • good
    • 0
この回答へのお礼

色々とありがとうございます!
参照設定は、必要な項目をAccessが勝手にチェック入れてくれているものと思っていました。
試しにはずして動作確認してみましたが、問題ありませんでした。
Excelの参照などもついでにはずして、Excelへエクスポートする処理も動かして見ましたが、そちらは CreateObject させているからか、処理の後確認してみたら自動的にチェックが入っていました。
レジストリをいじるのは素人なので危ないのでやめておきます…(汗)
解決です!感謝です。本当にありがとうございました!

お礼日時:2009/03/18 11:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!