0

comdlg32.ocx コンポーネントを含むフォームを含む Excel スプレッドシートをネットワーク共有に配布したいと考えています。

Windows 7 ユーザーは、このコンポーネントをインストールまたは登録していない可能性があります。Windows 7 でこのコンポーネントを自動的に確認してインストールする方法はありますか?

4

1 に答える 1

0

私はかつて、次の行に沿って何かを行うコードをいくつか持っていました

on error goto errhandler
try to instantiate an object of type x
we're not in the error handler - the dll must have already been registered! 
continue processing...
exit sub (or whatever)

errhandler:
shell "regsvr.exe /s " & path_to_dll
retry instantiation

regsvr の呼び出しが失敗した場合に無限ループに陥らないようにする必要があることは明らかです。さらに、dll をネットワーク共有に登録することはお勧めしません。次回マクロを実行するときに使用できない可能性があります。最初にローカル ドライブにコピーしてみてください。

考慮すべきもう 1 つの点: 単一のシステム DLL をコピーするべきではありません。それらはセットでリリースされ、バージョン管理の問題が発生する可能性があるためです。ただし、リスクを冒して先に進む方が簡単な場合もあります。

于 2011-04-18T15:58:57.920 に答える