質問: matlabで作成したdllをvbaで使用する/mwcomutil.dll, mwstruct このカテゴリでよいのか自信がありませんが質問です。 matlabで作成したdllをエクセルvbaで使用しようとしています。dotnettoolでcom objectを作成しています。使用するpcにはmatlabはインストールされておらずmcrinstallerを実行してmwstruct等の構造体(というのでしょうか)を使用可能になるようにしています。 あるpc(pc#1)では全く問題なく使用できていましたが、他のpc(pc#2)で同様のプロセス(mcrinstallerの実行、使用dllのレジスター(regsvr32を使用))を辿ってもどうしても使用することができません。 vbaを実行するとmwstructを使用するところで停止し、エラーメッセージは、「can't find project or library」です。tools->referencesを見るとmwcomutilはversion 7.4と7.3があるようですが、どちらを使用しても同じ結果でした。matlab関係と思われるものは、プログラムのdllとmwcomutil以外には参照の必要がないと思うのですが違うのでしょうか?(pc#1では以上の二つの参照がokであれば動作するようです) 参照可能ライブラリの中に、mwcommgrというのもあるので試しに参照してみましたが同じ結果でした。 実はpc#2以外にも複数のpcに試していますが、同じ結果となっています。何かを見落としているのと思いますが、ヒントをいただければ非常に助かります。 スペック概要: pc#1 windows xp home ed excel 2003 pc#2 windows xp pro (windows 2000も試してみたが無理であった) excel 2002 なお、windows update 等はすべて最新のものとしています。
回答: matlabのバージョンはいくつでしょうか? 特にr12とr13以降ではmatlabの拡張apiが再編されているようです(私もこれのためにプログラムを書きなおした経験があります). それと, >使用するpcにはmatlabはインストールされておらず とのことですが,フローティングライセンスになっていると思います.ですから,あるpcで実行できて別のpcでは実行できないのはlanの設定ではないでしょうか? お使いになっているネットワーク環境がわかりませんのでなんともいえないのですが,一度,ネットワーク環境も調査してみてはいかがでしょうか? それと,フローティングライセンスですと,一度に認証サーバにアクセスできるクライアント数も確か制限があったと思います.ひょっとしたらその辺が影響があるかもしれません. 的外れなことをお聞きしていたらご容赦ください.