配布したExcel Add-inを実行すると「Error in VBAProject​:ActiveXコン​ポーネントはオブジェ​クトを作成できません​。」が表示される。

MATLAB関数をライブラリコンパイラでExcelアドインのインストーラーを作成し、 MATLABが入っていないPCにインストールし実行すると「Error in VBAProject:ActiveXコンポーネントはオブジェクトを作成できません。」が表示され実行できません。 また、PCによって実行ができるPCとできないPCが存在します。
これらを回避する方法を教えてください。

2 Kommentare

michio
michio am 8 Dez. 2017
確認ですが、MATLAB Compilerの機能でMATLAB関数をExcelアドインにコンパイルし、Excel上で使用されている、という理解でよいですか?
Toshiki Nakajima
Toshiki Nakajima am 8 Dez. 2017
はい。
そのとおりです。

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

michio
michio am 8 Dez. 2017

1 Stimme

Excel アドイン エラーと推奨される解決策 の3つ目のエラーですが、DLL が登録されていない可能性があります。
DLL が登録されていない場合、DOS ウィンドウを開き、フォルダーを '<projectdir>\distrib' (<projectdir> はプロジェクト ファイルの場所を表す) に変更して、次のコマンドを実行します。
mwregsvr <projectdll>.dll
詳細は、 アドインと COM コンポーネントの登録 を参照してください。

3 Kommentare

Toshiki Nakajima
Toshiki Nakajima am 8 Dez. 2017
上記を実行しDOSウィンド上で「DllRegisterServer in myaddin_1_2.dll succeeded」が表示されました。
しかし再度Excel側で実行しても「Error in VBAProject:ActiveXコンポーネントはオブジェクトを作成できません。」が表示されてしまいます。
michio
michio am 8 Dez. 2017
もし配布先 PC に複数の MCR をインストールされている場合は、mwregsvr が dll を作成した MATLAB バージョンの MCR ディレクトリ下に存在する exe であることもご確認ください。
dll を生成した MATLAB バージョンと、mwregsvr.exe のバージョンが異なることで、エラーが発生することもあります。DOS プロンプト上で 
> where mwregsvr 
と実行しますと、使用される (システムパスの先頭にある) mwregsvr.exe を確認できます。
Toshiki Nakajima
Toshiki Nakajima am 18 Dez. 2017
where mwregsvrを実行したところ一番上にあるものは作成したdllのバージョンであることを確認しました。
MATLABのスタンドアローンアプリケーションで配布したところ問題なく実行できたので、
できないものに関してはそちらの方で対応使用と思います。
ご対応ありがとうございました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!