[[20041001110045]] 『Microsoft Common Dialog Controlが参照不可の場香x(ヒロ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Microsoft Common Dialog Controlが参照不可の場合』(ヒロ)

今、エクセルのVBAマクロを使っているのですが、あるマシンでは
正常に動作するのに、他のPCでマクロを実行しようとすると「コンパイルエラー メソッドまたはデータ メンバが見つかりません。」というエラーメッセージが出ます。

VBAの「参照設置」を確認すると「Microsoft Common Dialog Control 6.0」が「参照不可」と表示されています。

どなたか対策を御存知の方がおられましたら、教えて下さい。
宜しくお願いします。


 どこぞからランタイムをダウンロードしてインストールするか、
 とにかくSystem32フォルダあたりにComDlg32.ocxを入れればよいと思います。
 (ramrun)多分...

ランタイム研究所::ActiveX
http://www.runan.net/program/runtime/activex.html

 Common Dialog Controlにはバージョンがいくつもあって、
それらが一致して無い時に色々不都合が生じたりします。
バージョンの違いが現れる原因は沢山あり、
「こうしたから動かない」と言い切れないのが正直な所かと。
件のコントロールを使用しているソフトのセットアップを行った、とか
サービスパックの適用の仕方が違っている、とか
色々です。
 
とりあえずそのPCで動けば良いレベルなら、
そのPCで該当マクロを含むExcelファイルを開き、
そのPC上に存在するCommon Dialog Controlを参照設定等で選択しなおしてみる。
もしフォーム上などにコントロールを貼り付けているならば、それも再度貼り直してみる。
ここでCommon Dialog Controlが見当たらない、という場合は
ramrunさんが示すようにComDlg32.ocxその物がそのPC上には無い、という事になるかと。
その場合は入れてください。
 
仮にそれで動いたとしても、また他のPCでは(今まで動いていたPCでさえも)
バージョン違いで動かない可能性があります。
なのでPCにインストールするソフトや、サービスパックのバージョン管理を徹底しないと、
今後もどこかのマシンで発生するかも知れません。
 
それが不可能である場合で、
そのコントロールを使う用途がファイル選択にあるならば、
それと同じ機能を擁するAPIを自力で呼び出してあげると
「コントロールのバージョン違いで動かない」という事は無くなります。
サンプルコードはネット上に沢山転がってるので、探してみるも吉かと。
(ご近所PG)

 OSあるいはExcelのバージョン及びUpdateの違いによる不具合でしょうか・・?

  (INA)

 ちょっと誤字修正、及び追記。
 
Microsoft Common Dialog ControlはExcelの一部ではなく、
あくまでVBランタイムとしての提供物と思います。
全PCに対して同じランタイムを導入した上で作ったものなら、
それらPC上では同様に動くかな?
 
蛇足。
VBにはSP1〜6までが提供されていますが、
途中のサービスパックをすっ飛ばすと導入されないOCXがあったり。
それで悩んだりする事も。
(ご近所PG)

 Microsoft Common Dialog Control の OCX は、Excel インストール時に
 いっしょにインストールされますよね?
 だとすれば、Excelのバージョン違いかと思ったのですけど・・

  (INA)

 あらExcelと同時に入るのね。(ってVBA入るんだから当然っちゃ当然か)
とすれば、もしExcelのバージョンが違うならOCXのバージョンも違う可能性があるのは道理。
 
もしExcelのバージョンが同じなのに動かないなら、その時は
VBランタイムが更新されるような何かをした事が過去に無いか、
って事になるかしら。
 
今、手元では複数環境が無いから調べ切れないけど、
ファイル %SYSTEM%\COMDLG32.OCX のバージョンをその動くPCと動かないPCとで調べてみると良いかも。
バージョンが違ってたらなんか変わってるんでしょう。一致させたら動くかも。
それを一致する術は…
何がしかのセットアップに頼るか、
コピーして放り込む事になるんかなぁ。
後者はあまり勧めないけれど。
 
ちなみに私が今使ってる端末のそのバージョンは「6.1.97.82」らしい。
(ご近所PG)WinXP Excel2000 VB6SP6

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.